2013-08-10 3 views
3

Привет я новичок в Groovy я сплавленный, как проверить, является ли данный вход номер или нет я попытался следующиеКак проверить, является ли ввод числа или строка, используя IsNaN() в заводных

def a= ' 12.571245ERROR' 
if(a.isNan()==0) 
{ 
println("not a number") 
} 
else 
{ 
println("number") 
} 

Просьба помочь мне, как использовать isNan в groovy.I googled много, но не нашел никакого результата. Заранее спасибо

ответ

4

Вы можете попробовать бросить его на номер и поймать исключение, если его не число

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 был действительным номером, но в String, как «123». 123 - это номер, но «123» - нет.

5

Чтобы ответить на ваш вопрос, я бы не рассмотрел isNan(). Он упоминается в Интернете, но он не отображается в документе String for the GDK.

Рассмотрим это:

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}" 

 Смежные вопросы

  • Нет связанных вопросов^_^