Вопросы по теме 'bigdecimal'

Относительно большого десятичного числа
У меня есть файл csv, в котором поля суммы и количества присутствуют в каждой подробной записи, кроме записи заголовка и трейлера. Запись трейлера имеет общие значения затрат, которые представляют собой общую сумму количества, умноженную на поле...
3117 просмотров
schedule 28.10.2022

ArithmeticException: бесконечное десятичное раскрытие; нет точного представимого десятичного результата
Почему следующий код вызывает исключение, показанное ниже? BigDecimal a = new BigDecimal("1.6"); BigDecimal b = new BigDecimal("9.2"); a.divide(b) // results in the following exception. Исключение: java.lang.ArithmeticException:...
362415 просмотров
schedule 17.01.2024

Как я могу создать случайный BigDecimal в Java?
Этот вопрос: Как создать случайный BigInteger описывает способ достижения той же семантики, что и Random.nextInt(int n) для BigIntegers. Я хотел бы сделать то же самое для BigDecimal и Random.nextDouble(). Один из ответов на приведенный выше...
9776 просмотров
schedule 15.01.2024

Сохранение BigDecimal в десятичном поле в базе данных делает BigDecimal другим
Я всегда думал, что вы никогда не должны использовать числа с плавающей запятой для экономии денег в базе данных. Поэтому я использовал десятичную. Проблема в том, что я сохраняю десятичное число 100, и оно помещается в базу данных как 99,9999. У...
4036 просмотров

Grails: как отключить группировку тысяч для вывода BigDecimal
При отображении значения BigDecimal в представлении оно отображается с запятой в качестве разделителя тысяч, что сбивает с толку мой ввод «числа» HTML5. Есть ли способ отключить группировку. Я бы хотел, чтобы число 1000 отображалось как 1000, а не...
330 просмотров
schedule 10.11.2023

Преобразование числа Java в BigDecimal: лучший способ
Я ищу лучший способ преобразовать число в BigDecimal. Достаточно ли этого? Number number; BigDecimal big = new BigDecimal(number.toString()); Можем ли мы потерять точность при использовании метода toString() ?
102335 просмотров
schedule 04.01.2024

Использование Double для финансового программного обеспечения
Я знаю, что этот вопрос уже несколько раз обсуждался, но я не совсем удовлетворен ответом. Пожалуйста, не отвечайте "Двойные значения неточны, вы не можете представить 0,1! Вы должны использовать BigDecimal" ... В основном я занимаюсь финансовым...
1571 просмотров

Точность BigDecimal выше 1E22
по какой-то причине я обнаружил, что программирую какую-то программу, которая должна выполнять некоторые астрономические вычисления. Хотя большая часть будет посвящена переносу правильной формулы на Java, я обнаружил раздражающую проблему прямо в...
190 просмотров
schedule 09.02.2024

Формат Java BigDecimal числа с запятой и 2 десятичными знаками
Я хочу отформатировать BigDecimal Numbers с запятой и двумя десятичными точками. например Amount is: 5.0001 and formatted to: 5.00 Amount is: 999999999.999999 and formatted to: 999,999,999.99 Amount is: 1000.4999 and formatted to: 1,000.49 Amount...
24443 просмотров
schedule 04.08.2022

новый BigDecimal(0) NumberFormatException
У меня странная проблема с BigDecimal. У меня есть метод разбора следующим образом: protected BigDecimal parseBigDecimalFromText(String text) { Logger.info("parseBigDecimalFromText("+text+")"); return new BigDecimal(text); }...
5118 просмотров

Сравнение вывода bigdecimal
SQL-запрос выводит вывод bigdecimal, который, как я ожидаю, будет 144.50 , а фактическое значение будет #<BigDecimal:7fbe367ed118,'0.1445E3',18(18)> Я попробовал следующее, чтобы сравнить два: assert_equal BigDecimal('144.50'),...
1377 просмотров
schedule 08.11.2022

BigDecimal в Java: как округлить до 10?
Я хочу округлить числа BigDecimal до 10 вверх или вниз: 112 --> 110 117 --> 120 150 --> 150 115 --> 120 114.9 --> 110 67 --> 70 64 --> 60 и т.п. Я пробовал это: number = number.round(new MathContext(1,...
3362 просмотров
schedule 05.09.2022

Java: округление десятичного значения до HALF_EVEN
Я пытался написать java-код для округления значения до приведенного ниже требования. Если x=63,88 => roundedValue= 64,00; Если x=63,50 => roundedValue= 64,00 Если x=63,32 => roundedValue= 63,32 Я пробовал использовать различные режимы...
1669 просмотров
schedule 08.08.2022

Проблема с масштабом и округлением BigDecimal
В основном я написал метод для обратного значения экземпляра BigDecimal: public class Main{ public static void main(String[] args) { BigDecimal value1 = new BigDecimal("88"); BigDecimal reciproc1 = reciproc(value1); BigDecimal...
721 просмотров
schedule 14.10.2022

Как использовать операторы сравнения, такие как ›, =, ‹ в BigDecimal
У меня есть класс домена с unitPrice, установленным как тип данных BigDecimal. Теперь я пытаюсь создать метод для сравнения цен, но похоже, что у меня нет операторов сравнения в типе данных BigDecimal. Должен ли я изменить тип данных или есть другой...
209831 просмотров
schedule 12.08.2022

Готов ли JSR-354 Money API к использованию в производственной среде?
В настоящее время я занимаюсь исследованием того, какой тип данных будет подходящим для денег/валюты в Java 8. Я столкнулся со спецификацией JSR-354 для типов данных и операций с данными о деньгах/валюте. Эталонная реализация со своим API...
693 просмотров
schedule 30.01.2024

Потоки: рассчитать разницу тоталов за один раз
У меня есть List<LedgerEntry> ledgerEntries , и мне нужно рассчитать сумму creditAmount и debitAmount. class LedgerEntry{ private BigDecimal creditAmount; private BigDecimal debitAmount; //getters and setters } Я реализовал это...
355 просмотров
schedule 23.12.2023

Как узнать, может ли BigDecimal точно преобразовать в float или double?
Класс BigDecimal имеет несколько полезных методов, гарантирующих преобразование без потерь: byteValueExact() shortValueExact() intValueExact() longValueExact() Однако методы floatValueExact() и doubleValueExact() не...
913 просмотров
schedule 19.07.2022

Странное поведение RoundingMode.DOWN
Может ли кто-нибудь объяснить мне поведение RoundingMode, показанное в примерах? Для 2-го примера я ожидал 66,800 в результате, а не 66,799. Пример 1 : BigDecimal bg1 = new BigDecimal(66.7); bg1 = bg1.setScale(3, RoundingMode.DOWN);...
40 просмотров
schedule 15.02.2024