Boa tarde,
Tenho um sistema ERP no qual estou tentando colocar a possibilidade de o usuário escolher o número de casas decimais após a vírgula…
Nas configurações do sistema o usuário pode escolher entre 2 e 8 casas…
A questão é: Não estou conseguindo formatar os valores na hora de fazer um pedido, com o número de casas escolhido (tanto visual quanto na hora de salvar)…
Exemplo: Vou fazer um pedido de 25 reais… O valor é setado como 25.00. Se eu escolher 4 casas, deveria salvar como 25.0000
Preciso disso para NF’s de importação!
Alguém pode me dar uma ajuda ?
Obrigado…
Cara, pesquise por DecimalFormat aqui mesmo no forum. Tem um montao de posts referentes ao assunto.
abrs
[quote=Vini Fernandes]Cara, pesquise por DecimalFormat aqui mesmo no forum. Tem um montao de posts referentes ao assunto.
abrs [/quote]
Eu tava vendo antes… Pelo que eu entendi do Decimal Format, eu preciso definir um pattern pra ele…
Posso fazer uma verificação para adicionar x números após a vírgula no pattern (conforme as minhas configurações), mas os valores antes da vírgula podem variar, podem ser 1, 2, 3…
Como eu faço pra lidar com isso ?
Cara, voce define tudo isso no proprio pattern. Creio que para 3 casas voce pode definir
#,###
para 4 casas
#,####
Veja se funciona…!!
Consegui… Acabei usando outra forma:
[code]public double formataNumero(Double value) {
int i = objConfig.getQtde_casas_decimais();
String s = String.format("%." + i + "f", value);
double formatado = textUtil.StringtoMoeda(s);
return formatado;
}[/code]
Mas na hora de salvar precisei do Decimal Format também…
[code]
NumberFormat nf = NumberFormat.getInstance(new Locale(“pt”, “BR”));
Configuracoes config = ConfiguracaoGlobal.getConfiguracaoGlobal();
nf.setMaximumFractionDigits(config.getQtde_casas_decimais());
nf.setMinimumFractionDigits(config.getQtde_casas_decimais());
Double valor = (Double.valueOf(valorTela.toString()));
return nf.format(valor);[/code]