Perguntas com a marcação «bigdecimal»

BigDecimal é um tipo de objeto numérico em Java que representa números decimais com precisão arbitrária.


6
Double vs. BigDecimal?
Eu tenho que calcular algumas variáveis ​​de ponto flutuante e meu colega sugere que eu use em BigDecimalvez de, doublepois será mais preciso. Mas quero saber o que é e como tirar o máximo proveito BigDecimal?


1
Arredondar BigDecimal para * sempre * tem duas casas decimais
Estou tentando arredondar os valores BigDecimal para duas casas decimais. estou a usar BigDecimal rounded = value.round(new MathContext(2, RoundingMode.CEILING)); logger.trace("rounded {} to {}", value, rounded); mas não faz o que eu quero consistentemente: rounded 0.819 to 0.82 rounded 1.092 to 1.1 rounded 1.365 to 1.4 // should be 1.37 rounded …

5
Como alterar o separador decimal de DecimalFormat de vírgula para ponto / ponto?
Eu tenho esse pequeno método maluco que converte valores BigDecimal em Strings agradáveis ​​e legíveis. private String formatBigDecimal(BigDecimal bd){ DecimalFormat df = new DecimalFormat(); df.setMinimumFractionDigits(3); df.setMaximumFractionDigits(3); df.setMinimumIntegerDigits(1); df.setMaximumIntegerDigits(3); df.setGroupingSize(20); return df.format(bd); } No entanto, também produz um chamado separador de agrupamento ","que faz com que todos os meus valores saiam …


5
Adicionando BigDecimals usando Streams
Eu tenho uma coleção de BigDecimals (neste exemplo, a LinkedList) que gostaria de adicionar. É possível usar fluxos para isso? Notei que a Streamclasse tem vários métodos Stream::mapToInt Stream::mapToDouble Stream::mapToLong Cada um dos quais tem um sum()método conveniente . Mas, como sabemos, floate doublearitmética é quase sempre uma má idéia. …

4
BigDecimal é igual a () versus compareTo ()
Considere a classe de teste simples: import java.math.BigDecimal; /** * @author The Elite Gentleman * */ public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub BigDecimal x = new BigDecimal("1"); BigDecimal y = new BigDecimal("1.00"); System.out.println(x.equals(y)); System.out.println(x.compareTo(y) == 0 …

11
Adição para BigDecimal
Quero fazer algumas somas simples com alguns valores de moeda expressos em BigDecimaltipo. BigDecimal test = new BigDecimal(0); System.out.println(test); test.add(new BigDecimal(30)); System.out.println(test); test.add(new BigDecimal(45)); System.out.println(test); Obviamente, eu não entendo bem a BigDecimalaritmética, veja a saída por trás. Test 0 0 0 Alguém pode me ajudar?
155 java  bigdecimal 

2
BigDecimal setEscala e rodada
Qual é a diferença entre essas duas chamadas? (Existe algum?) // 1. new BigDecimal("3.53456").round(new MathContext(4, RoundingMode.HALF_UP)); // 2. new BigDecimal("3.53456").setScale(4, RoundingMode.HALF_UP);
140 java  bigdecimal 

8
Convertendo BigDecimal em Inteiro
Eu tenho o método Hibernate que me retorna um BigDecimal. Eu tenho outro método de API para o qual preciso passar esse número, mas ele aceita Inteiro como parâmetro. Não posso alterar os tipos de retorno ou os tipos variáveis ​​dos dois métodos. Agora, como converter o BigDecimal em número …


9
Conversão Safe String para BigDecimal
Estou tentando ler alguns valores BigDecimal da seqüência de caracteres. Digamos que eu tenho essa String: "1.000.000.000.999999999999999" e quero obter um BigDecimal. Qual é a maneira de fazer isso? Primeiro de tudo, eu não gosto das soluções usando substituições de string (substituindo vírgulas etc.). Eu acho que deveria haver algum …
120 java  parsing  bigdecimal 


6
Como imprimir valores BigDecimal formatados?
Eu tenho um BigDecimalcampo amountque representa o dinheiro, e eu preciso imprimir o seu valor no navegador em um formato como $123.00, $15.50, $0.33. Como eu posso fazer isso? (A única solução simples que eu me vejo está recebendo floatValuea partir de BigDecimale em seguida, usando NumberFormatpara fazer precisão de …

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.