十进制转换

时间:2011-05-24 12:41:36

标签: java decimalformat

我正在尝试设置小数值,下面是我的输入字符串

String rate="1.000000000";

转换为double:

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 个答案:

答案 0 :(得分:5)

尝试

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

System.out.println("ouput"+format.format(converted));

答案 1 :(得分:4)

#不会显示为0,而是使用0

    String rate="1.010000000";
    Double converted=Double.valueOf(rate);
    DecimalFormat format=new DecimalFormat("0.00000000");       
    System.out.println("ouput "+format.format(converted));

答案 2 :(得分:1)

首先,您将字符串rate传递给DecimalFormat.format方法。这将失败,您需要传递converted对象。

当我使用上述更改测试您的代码时,输​​出中得到1.01。要格式化为8位小数,请遵循Bala Rs注释。即DecimalFormat format = new DecimalFormat("#.00000000");