Articles of bigdecimal

Adicionando BigDecimals usando Streams

Eu tenho uma coleção de BigDecimals (neste exemplo, um LinkedList ) que gostaria de adicionar juntos. É possível usar streams para isso? Eu notei que a class Stream tem vários methods Stream::mapToInt Stream::mapToDouble Stream::mapToLong Cada um dos quais tem um método sum() conveniente. Mas, como sabemos, float e aritmética double é quase sempre uma má […]

Métodos trigonométricos Java BigDecimal

Eu estou desenvolvendo um analisador matemático que é capaz de avaliar String como ‘5+b*sqrt(c^2)’ . Eu estou usando o ANTLR para analisar e fazer um bom progresso. Agora eu me BigDecimal class Java BigDecimal e pensei: ei, por que não pensar em precisão aqui. Meu problema é que a API Java não fornece methods trigonométricos […]

BigDecimal – para usar novo ou valueOf

Me deparei com duas maneiras de obter o object BigDecimal de um d duplo. 1. new BigDecimal(d) 2. BigDecimal.valueOf(d) Qual seria uma abordagem melhor? Valorizaria se criar um novo object? Em geral (não apenas BigDecimal), o que é recomendado – new ou valueOf? Obrigado.

Existe um equivalente em C ++ ao BigDecimal do Java?

Eu estou procurando uma class de C ++ que pode fazer aritmética de ponto flutuante decimal. Olhando através de http://speleotrove.com/decimal/, há links para todos os tipos de classs que as pessoas escreveram e não mantiveram. Explorar as coisas do decNumber ++ me levou a alguns e-mails mostrando que o GCC irá eventualmente suportar essa funcionalidade. […]

Como fazer um poder fracionário no BigDecimal em Java?

No meu pequeno projeto eu preciso fazer algo como Math.pow (7777.66, 5555.44) apenas com números muito grandes. Eu me deparei com algumas soluções: Use o dobro – mas os números são muito grandes Use BigDecimal.pow, mas sem suporte para fracionário Use a fórmula X ^ (A + B) = X ^ A * X ^ […]

Como imprimir valores BigDecimal formatados?

Eu tenho um amount campo BigDecimal que representa dinheiro, e eu preciso imprimir 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 vejo a mim mesmo é obter floatValue do BigDecimal e depois usar NumberFormat para fazer uma precisão de […]

Arredondar BigDecimal para * sempre * tem duas casas decimais

Eu estou tentando arredondar 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 2.730 to 2.8 // should […]

Existe uma biblioteca de matemática decimal para JavaScript?

Existe uma biblioteca madura para fazer matemática baseada em decimal, possivelmente precisão arbitrária, em JavaScript? Edit: Eu quero essa informação para uma página de referência sobre os problemas relacionados ao ponto flutuante e alternativas para usar quando o ponto flutuante binário é inadequado: http://floating-point-gui.de/

Adição para BigDecimal

Eu quero fazer algumas sums simples com alguns valores de moeda expressos no tipo BigDecimal . 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 aritmética BigDecimal , ver a saída por trás. Test 0 0 0 Alguém pode me ajudar?

A melhor biblioteca matemática de precisão arbitrária (portátil) de plataforma cruzada

Eu estou procurando uma boa biblioteca de matemática de precisão arbitrária em C ou C + +. Você poderia por favor me dar alguns conselhos / sugestões? Os principais requisitos: Ele deve lidar com inteiros grandes arbitrariamente (meu principal interesse é em inteiros). Caso você não saiba o que a palavra significa arbitrariamente grande, imagine […]