Olá Pessoal !
Tenho uma string e quero converte-la para um BigDecimal, e outra para um Double.
Segue o código
public static void main(String[] args) {
NumberFormat f = NumberFormat.getNumberInstance(new Locale("pt", "BR"));
String n = "23.66"; // Na verdade, recebo de uma fonte que me devolve uma String
BigDecimal nBigD = new BigDecimal(f.format(n));
Double nDouble = new Double(f.format(n));
}
E da a seguinte exception
Exception in thread "main" java.lang.IllegalArgumentException: Cannot format given Object as a Number
at java.text.DecimalFormat.format(DecimalFormat.java:504)
at java.text.Format.format(Format.java:157)
O que estou fazendo de errado ?
[code]
public static void main(String[] args) {
NumberFormat f = NumberFormat.getNumberInstance(new Locale(“pt”, “BR”));
String n = "23.66"; // Na verdade, recebo de uma fonte que me devolve uma String
BigDecimal nBigD = new BigDecimal(n);
Double nDouble = new Double(n);
System.out.println(f.format(nBigD));
System.out.println(f.format(nDouble));
}[/code]
Vc não pode criar um BigDecimal nem Double com um número com Vírgula.
Vc deve primeiro converter para um BigDecimal / Double pra depois usar o método fotmat().
[quote=eliangela]
Vc não pode criar um BigDecimal nem Double com um número com Vírgula.
Vc deve primeiro converter para um BigDecimal / Double pra depois usar o método fotmat().[/quote]
Obrigado !
Resolveu 