Вы должны быть осторожны, этот ответ не относится к Java, он относится ко всем аспектам десятичных дробей во многих языках программирования, поэтому он является общим. Опасность заключается в округлении чисел, вот так, и это произошло по моему опыту, и я знаю, что с этим может быть сложно справиться:
- Предположим, что вы имеете дело с ценами на товары, цена, которую вы получаете от розничного поставщика, может отличаться от цены, которую компьютер сообщает вам, конечно, она незначительно мала, но может привести к большим деньгам.
- Добавление налога с продаж к цене может быть как положительным, так и отрицательным, это может повлиять на операционную маржу балансовых отчетов о прибылях и убытках ...
Если вы находитесь на такой арене развития, то мой совет - не корректировать путем округления вверх / вниз ... он может не отображаться при небольших продажах предметов, но он может появиться в другом месте ... бухгалтер заметит это ... Лучше всего просто укоротить это,
например 29.475342 -> 29.47 и оставьте это, почему? .005 может привести к большой прибыли / убытку.
В сочетании с тем, что здесь обсуждается ... электронные списки и регистры используют свой собственный вариант обработки этого сценария, вместо того, чтобы иметь дело с XX.XXXXXXXXXX (например, с компьютерами, которые имеют 27/28 десятичных знаков), он имеет дело с XX .XX.
Это то, что нужно иметь в виду ...
Надеюсь, это поможет,
С наилучшими пожеланиями,
Том.