2014-10-28 3 views
1

Некоторые языки (PHP, ASP и т. Д.) Позволяют вам устанавливать переменные среды/языка для валют, округления и т. Д. Есть ли у JAVA что-то вроде этого? Что-то, чтобы все поплавки или что-то дикое округлено до 2 или 3 десятичных знаков? Я знаю DecimalFormat и setRoundingMode, но не могу найти ответы или что-либо в API.JAVA - Глобальное округление номеров

Ясность: вместо того, чтобы иметь десятичную форму. Каждый номер, который вы используете или выводите, есть способ установить внутреннее округление JAVA (чтобы автоматически быть 2 или 3 десятичными знаками) или способ обработки поплавков?

+0

Ваш вопрос немного расплывчатый. Пожалуйста, предоставьте более подробную информацию о том, что вы делаете. – alterfox

+0

ваши вопросы нуждаются в большей ясности – Chiseled

+1

* Ничто * не изменяет способ обработки (удваивает и) поплавки, за исключением наличия 'strictfp'. Не смешивайте это с форматированием или преобразованием в 'String'. – EJP

ответ

4

Я боюсь, что то, что вы пытаетесь, не выполнимо. Даже установка локали по умолчанию здесь не поможет. Вам нужен способ установить форматирование по всему миру, но в нижней строке вам должно быть вызывать какое-то форматирование (например, использовать реализацию NumberFormat).

Что вы делаете может do создает глобально доступную статическую функцию, которую вы будете использовать везде, где вам нужно. Не самый лучший подход, но все работает (как говорит Вуди Аллен).

+0

Прост достаточно. Я не думал, что есть, просто не эксперт JAVA, как вы, ребята. Спасибо. – user3223880

1

Используйте BigDecimal для валют. Это фиксированное цифровое округление. Никогда не используйте номера с плавающей запятой для валют, которые они неточно. Вы можете настроить MathContext для округления.

Смежные вопросы