2015-05-01 2 views
-4

Я формирую номера в locale US. Проблема, с которой я сталкиваюсь, заключается в том, что она не отображает точный номер, который пользователь дает, а отображает до 8-значного числа.не получается правильный вывод в числовом формате

В childview он показывает ввод данных пользователем, но когда я пытаюсь отобразить его в groupview он показывает только 8 цифр enter image description here Код:

NumberFormat numberFormat= NumberFormat.getNumberInstance(locale); 
numberFormat.format(double);// double is the user given input 
+1

Этот код даже не компилируется. Покажите нам реальный, полный код, воспроизводящий проблему. –

+0

проверить, что он отображает? те же значения? – silverFoxA

+1

Кроме того, для значений валюты вы, вероятно, должны использовать 'BigDecimal'. –

ответ

0

Проблема заключается в том, что double не может вместить столько значащих цифр (мантиссы). Вы должны использовать BigDecimal здесь, иначе вы всегда можете потерять точность.

+0

Почему downvote? –

+0

Я не тот, кто проголосовал, но, вероятно, потому, что это неправда. Двойной может легко содержать достаточно цифр для примера в вопросе. Хотя в этом случае может быть хорошей идеей использовать BigDecimal, объяснение неверно. –

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