O bigDecimal tem um construtor que recebe string. Mas a parte decimal dele usa ponto para separar a parte inteira da fracional. Como eu poderia fazer para usar vírgula no lugar de ponto?
Posso te dar 2 sugestões:
class MyBigDecimal extends BigDecimal
{
MyBigDecimal (String s)
{
super (s.replace(',' , '.' );
}
}
ou o mesmo como método:
public BigDecimal (String s)
{
return new BigDecima (s.replace(',' , '.' );
}
Espero ter ajudado
Retificando…o segundo:
public BigDecimal [b]criaBigDecimal[/b](String s)
{
return new BigDecima (s.replace(',' , '.' );
}
qual a diferença entre usar ‘,’ e “,” ?
‘a’ eh um char.
“a” eh uma String.
Preciso converter texto em BigDecimal.
Uma forma de fazer seria considerar que todos fossem separados por ‘,’, fazendo a substituição:
new BigDecimal (texto.replace(',' , '.'));
Outra forma seria utilizando a classe NumberFormat.
new BigDecimal(nf.parse(texto).toString());
Eu terei alguma diferença no resultado final desses 2 métodos?
O nf.parse(texto).toString seria o mesmo que o texto.replace(’,’,’.’) ?