Отформатируйте точность от двух до шести десятичных знаков - PullRequest
0 голосов
/ 27 ноября 2018

Я хочу отформатировать двойное значение с точностью до 6 знаков без округления.

ожидаемое значение после форматирования до 6 десятичных знаков

20790123833965.960938

Я пробовал использовать десятичный формат

   DecimalFormat formatter = new DecimalFormat("#0.000000");
   System.out.println(formatter.format(hashValue) );

И я получил это

20790123833965.960000

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Используйте этот код, он будет работать.

public class JavaFormatter {
    public static void main(String args[]) {
        BigDecimal hashValue = new BigDecimal("20790123833965.960938");     
        DecimalFormat formatter = new DecimalFormat("#.######");
        System.out.println(formatter.format(hashValue));
    }
}
0 голосов
/ 27 ноября 2018

Как уже сказано в комментарии @ Benoit , чтобы сохранить полную точность вашего номера, вам нужен вывод BigDecimal:

BigDecimal hashValue = new BigDecimal("20790123833965.960938");
DecimalFormat formatter = new DecimalFormat("#0.000000");
System.out.println(formatter.format(hashValue));

:

20790123833965.960938

...