こんにちは、Groovy の初心者です。指定された入力が数値かどうかを確認する方法がわかりません。次のことを試しました。
def a= ' 12.571245ERROR'
if(a.isNan()==0)
{
println("not a number")
}
else
{
println("number")
}
groovy で isNan を使用する方法を教えてください。よくグーグル検索しましたが、結果が見つかりませんでした。前もって感謝します
こんにちは、Groovy の初心者です。指定された入力が数値かどうかを確認する方法がわかりません。次のことを試しました。
def a= ' 12.571245ERROR'
if(a.isNan()==0)
{
println("not a number")
}
else
{
println("number")
}
groovy で isNan を使用する方法を教えてください。よくグーグル検索しましたが、結果が見つかりませんでした。前もって感謝します
GroovyString::isNumber()
が助けてくれます:
def a = "a"
assert !a.isNumber()
def b = "10.90"
assert b.isNumber()
assert b.toDouble() == 10.90
あなたの質問に答えるために、私は isNan() を考慮しません。Web 上で言及されていますが、GDKの String doc には表示されません。
このことを考慮:
def input = "12.37"
def isNumber = input.isDouble()
println "isNumber : ${isNumber}"
または、より Java 風なものを使用します。
def input = "12.37error"
def isNumber = false
try {
double value = Double.parseDouble(input)
isNumber = true
} catch (Exception ex) {
}
println "isNumber : ${isNumber}"
それを数値にキャストして、数値でない場合は例外をキャッチすることができます
def a= ' 12.571245ERROR'
try {
a as Double
println "a is number"
}catch (e) {
println "a is not a number"
}
または
if(a instanceof Number)
println "Number"
else
println "NaN"
a
2 番目の確認方法では、有効な数値であってString
も「123」のように失敗することに注意してください。123は数字ですが、「123」はそうではありません。