PureBasicで文字列が数値を表すかどうかのチェック


PureBasicである文字列が数値を表すものかどうかを調べたかったが、どうも準備されたプロシジャというか関数というか、そういうものはないようだ。

自作してもいいのだが、面倒なのと僕の知らない実現方法があるかもしれないと思い、検索したら掲示板にあった。
パターンマッチでやるのが記述が短くて楽だよなぁと思ってたらやっぱりみなさん同じ考えのようで…

Procedure Is_NumericMathExpression(in_NumMEx_str.s)
  rex_IsNumericMathExpression = CreateRegularExpression(#PB_Any,"^[$+-e~]?\d*[.|,]?\d*[+-^eE<>=~%/]+$")
  Is_NumericExpressionMath.b = MatchRegularExpression(rex_IsNumericMathExpression, in_NumMEx_str)
  FreeRegularExpression(rex_IsNumericMathExpression) ; if needed or desired - regular expression freed when program ends anyway
  ProcedureReturn Is_NumericExpressionMath
EndProcedure

IsAlpha IsNumeric – http://www.forums.purebasic.com/english/viewtopic.php?f=12&t=9261&sid=c869e148067ca0ad78705cadf916cbbf&start=45

シェアする

  • このエントリーをはてなブックマークに追加

フォローする