Chcę zrobić kilka prostych sum z pewnymi wartościami walutowymi wyrażonymi BigDecimal
czcionką.
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);
Oczywiście nie rozumiem dobrze BigDecimal
arytmetyki, zobacz wyniki za.
Test
0
0
0
Czy ktoś może mi pomóc?
java
bigdecimal
Sergio del Amo
źródło
źródło
add(..)
: „augend - wartość do dodania do tego BigDecimal.”. Ponadto powiedzenie „… zwraca nowy BigDecimal…” zamiast „… zwraca BigDecimal…” byłoby miłym akcentem. Być może jestem tylko czubkiem, ale IMHO jest tu miejsce na ulepszenia :-)Wygląda na to, że z dokumentacji Java tutaj, która add zwraca nowy BigDecimal:
źródło
źródło
Właściwie jest to raczej łatwe. Po prostu zrób to:
Zobacz też:
BigDecimal#add(java.math.BigDecimal)
źródło
BigInteger jest niezmienny, musisz to zrobić,
źródło
źródło
20
źródło
Możesz to również zrobić w ten sposób:
Wydruki:
źródło
Korzystanie z lambd Java8
Obejmuje to przypadki, w których niektóre lub wszystkie obiekty na liście są puste.
źródło
Jest niezmienny, ponieważ wewnętrznie przechowuje dane wejściowe, tj. (15), jak
final private final BigInteger intVal;
i ta sama koncepcja używana w czasie tworzenia łańcucha każde wejście ostatecznie przechowuje się wprivate final char value[];
. Więc nie ma zaimplementowanego błędu.źródło
Kolejny przykład do dodania
BigDecimals
. Kluczową kwestią jest to, że są one niezmienne i można je zainicjować tylko w konstruktorze. Oto kod:źródło