String ou Double

Senhores,

Estou precisando de uma ajuda…

Eu estou criando uma classe para leitura de xml, o que quero saber se existe algum metodo que fazer a verificação se o valor que retorna do xml é uma Letra (String) ou um valor numerico (Double).

Eu tinha setado como tudo que iria retornar de um determinado nó era sempre Valor numerico, mas não é e aconteceu o seguinte erro:


java.lang.NumberFormatException: empty String
at java.lang.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:983)
at java.lang.Double.parseDouble(Double.java:220)

Esse erro não é porque eu tentei converter uma letra em Double?

Valeu !

Fabiano,

O wrapper Character possui alguns metodos como isDigit / isLetter , não acredito que isso não ira te ajudar muito, pois vc tera de conferir caracter por caracter !!

O erro que vc postou deve estar acontecendo pq a sua String esta vazia, assim “”, isto é diferente de nulo.

O que vc poderia fazer neste caso especifico, é colocar seu codigo de conversao no try/catch e capturar essa excessão (NumberFormatException)… atribuindo 0(zero) na sua variavel numerica !!

Caso vc possa usar o commons da Jakarta, no pacote Validator, existe a classe GenericValidator, esta classe faz estas verificações, como isFloat, isInt…

Mas o ideal é que vc usar o tratamento de excessão da linguagem !!

flw

Cara,

é isso mesmo, está retornando “”, eu fiz assim:

if (value.getNodeValue() != "")

Agora está rodando e nao chegou até o ponto que aconteceu o erro, vou esperar para ver.

Mas obrigado,

Fabiano.