Добавление для BigDecimal

Я хочу сделать несколько простых сумм с некоторыми значениями валюты, выраженными в 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); 

Очевидно, я не очень хорошо разбираюсь в арифметике BigDecimal , смотрю выходную информацию.

 Test 0 0 0 

Может кто-нибудь мне помочь?

BigDecimal является неизменным, поэтому вам нужно сделать это:

 BigDecimal result = test.add(new BigDecimal(30)); System.out.println(result); 

Похоже, что из документов Java здесь добавлено новое значение BigDecimal:

 BigDecimal test = new BigDecimal(0); System.out.println(test); test = test.add(new BigDecimal(30)); System.out.println(test); test = test.add(new BigDecimal(45)); System.out.println(test); 
 BigDecimal test = new BigDecimal(0); System.out.println(test); test = test.add(new BigDecimal(30)); System.out.println(test); test = test.add(new BigDecimal(45)); System.out.println(test); 

На самом деле это довольно легко. Просто сделайте это:

 BigDecimal test = new BigDecimal(0); System.out.println(test); test = test.add(new BigDecimal(30)); System.out.println(test); test = test.add(new BigDecimal(45)); System.out.println(test); 

См. Также: BigDecimal#add(java.math.BigDecimal)

BigInteger неизменен, вам нужно это сделать,

  BigInteger sum = test.add(new BigInteger(30)); System.out.println(sum); 
 //you can do in this way...as BigDecimal is immutable so cant set values except in constructor BigDecimal test = BigDecimal.ZERO; BigDecimal result = test.add(new BigDecimal(30)); System.out.println(result); result would be 30 
 BigDecimal no = new BigDecimal(10); //you can add like this also no = no.add(new BigDecimal(10)); System.out.println(no); 

20

 BigDecimal demo = new BigDecimal(15); 

Это непреложный факт, что он внутренне хранит вас, т. final private final BigInteger intVal; (15) в качестве final private final BigInteger intVal; и такое же использование концепции во время создания строки каждый вход окончательно сохраняет в private final char value[]; . Таким образом, нет ошибок при имплантировании.

Еще один пример добавления BigDecimals . Главное, что они неизменяемы, и их можно инициализировать только в конструкторе. Вот код:

 import java.util.*; import java.math.*; public class Main { public static void main(String[] args) { Scanner sc; boolean first_right_number = false; BigDecimal initBigDecimal = BigDecimal.ZERO; BigDecimal add1 = BigDecimal.ZERO; BigDecimal add2 = BigDecimal.ZERO; while (!first_right_number) { System.out.print("Enter a first single numeric value: "); sc = new Scanner(System.in); if (sc.hasNextBigDecimal()) { first_right_number = true; add1 = sc.nextBigDecimal(); } } boolean second_right_number = false; while (!second_right_number) { System.out.print("Enter a second single numeric value: "); sc = new Scanner(System.in); if (sc.hasNextBigDecimal()) { second_right_number = true; add2 = sc.nextBigDecimal(); } } BigDecimal result = initBigDecimal.add(add1).add(add2); System.out.println("Sum of the 2 numbers is: " + result.toString()); } } 

Вы также можете сделать это следующим образом:

 BigDecimal A = new BigDecimal("10000000000"); BigDecimal B = new BigDecimal("20000000000"); BigDecimal C = new BigDecimal("30000000000"); BigDecimal resultSum = (A).add(B).add(C); System.out.println("A+B+C= " + resultSum); 

Печать:

A + B + C = 60000000000

  • Как разделить разделенную запятыми строку при игнорировании пропущенных запятых?
  • Как читать и понимать трассировку стека java?
  • Как получить только имя родительского каталога определенного файла
  • По умолчанию пространство имен XML, JDOM и XPath
  • Как создать 2 отдельных файла журнала с одним конфигурационным файлом log4j?
  • JPA Query.getResultList () - используется в общем виде
  • Как resize шрифта JLabel, чтобы взять максимальный размер
  • Генерация ключей шифрования / дешифрования Java openssl
  • Преобразование String для двойного использования в Java
  • несколько пакетов в контексте: компонентное сканирование, настройка пружины
  • Как читать XML с помощью XPath в Java
  • Давайте будем гением компьютера.