1

我正在尝试设置十进制值,下面是我的输入字符串

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.

我不明白如何做到这一点,请任何提示。

问候,

柴兔

4

3 回答 3

5

尝试

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

System.out.println("ouput"+format.format(converted));
于 2011-05-24T12:42:49.800 回答
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));
于 2011-05-24T12:45:17.440 回答
1

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

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

于 2011-05-24T12:49:20.437 回答