Десятичное преобразование - PullRequest
1 голос
/ 24 мая 2011

Я пытаюсь установить десятичные значения, ниже моя строка ввода

String rate="1.000000000";

Преобразование в двойной:

Double converted=Double.valueOf(rate);
DecimalFormat format=new DecimalFormat("#.########"); //Setting decimal points to 8

System.out.println("ouput"+format.format(rate)); //Giving output as 1.

Я не понимаю, как это сделать. Любые подсказки, пожалуйста.

С уважением,

Chaitu

Ответы [ 3 ]

5 голосов
/ 24 мая 2011

Попробуйте

DecimalFormat format=new DecimalFormat("#.00000000");

и

System.out.println("ouput"+format.format(converted));
4 голосов
/ 24 мая 2011

# не будет отображаться для 0, используйте 0 вместо:

    String rate="1.010000000";
    Double converted=Double.valueOf(rate);
    DecimalFormat format=new DecimalFormat("0.00000000");       
    System.out.println("ouput "+format.format(converted));
1 голос
/ 24 мая 2011

Сначала вы передаете строку rate методу DecimalFormat.format. Это не удастся, вам нужно передать объект converted.

Когда я тестировал ваш код с вышеуказанными изменениями, я получил 1,01 в выводе. Чтобы отформатировать до 8 знаков после запятой, следуйте комментариям Bala Rs. т.е. DecimalFormat format = new DecimalFormat("#.00000000");

...