Thread Rating:
  • 338 Vote(s) - 2.9 Average
  • 1
  • 2
  • 3
  • 4
  • 5
文字列の中身が数字かどうか
10-17-2011, 02:43 PM,
#1
文字列の中身が数字かどうか
String の中の値が数字かどうかを確かめる良い方法はありますか?

Code:
{let s:Strign = "123"}
{if {String {s.to-int}} == s then
    {popup-message "int"}
}

この方法だと、int型は判断できるのですが、小数点付きの値などもいちいちやっていくのが面倒で・・・
10-17-2011, 04:39 PM,
#2
RE: 文字列の中身が数字かどうか
数字かどうかというのはどこまで厳しく確認するつもりでしょうか。

正規表現使えますね。
trim->正規表現 ("\d*\.?\d*"的に)->MatchStateを使ったり...
10-17-2011, 06:04 PM, (This post was last modified: 10-17-2011, 06:07 PM by hokada.)
#3
RE: 文字列の中身が数字かどうか
こんなんでどうですか?

Code:
{define-proc public {dou? str:String}:bool
    {return {regexp-match? "^(-?)([1-9][0-9]*)?[0-9](\\.[0-9]*[1-9])?$", {str.trim-clone}}}
}

Forum Jump:


Users browsing this thread:
2 Guest(s)

MyBB SQL Error

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1017 - Can't find file: 'mybb_threadviews' (errno: 2)
Query:
INSERT INTO mybb_threadviews (tid) VALUES('307')