Я пытаюсь получить число цифр после десятичной точки в значении BigDecimal.Как получить точное десятичное значение из bigdecimal в java
BigDecimal big = new BigDecimal(1231235612.45);
String[] str = big.toPlainString().split("\\.");
System.out.println(" Decimal Value: " + str[1]);
С помощью этого я получаю следующий вывод - десятичное Значение: 4500000476837158203125. Actualy Я хочу показать только 45 согласно оригиналу BigDecimal value (1231235612.45). Итак, мой ожидаемый результат: Десятичное значение: 45. Но при преобразовании он добавляет больше цифр после десятичных точек. Есть ли какой-либо метод или код для получения точного значения из BigDecimal?
Короче говоря: используйте 'String' конструктор вместо этого. – Tunaki
Скорее всего, вы хотели 'BigDecimal.valueOf (1231235612.45);' или 'new BigDecimal (« 1231235612.45 »);' –