【问题标题】:Round double value to 2 decimal digits [duplicate]将双精度值舍入为 2 位十进制数字 [重复]
【发布时间】:2016-06-11 12:26:01
【问题描述】:

我一直在处理大数字(超过 20 位),因此我使用 Double 。我得到数字的形式是这样的8.653762536765E28。 我想要做的只是显示前 2 个十进制数字。我希望它像 8.65E28

我试图找到有关格式化双精度值的信息,但我无法做到。我得到的结果是 86537...12312.00 。

对于这种情况,您认为什么是好的方法?如何只管理 E(基数)前面的数字而不是整数?

【问题讨论】:

    标签: java android scientific-notation


    【解决方案1】:

    我认为这是您想要实现的目标:

     double d = 8.653762536765E28;
     DecimalFormat df = new DecimalFormat("0.00E0");
     System.out.print(df.format(d));
    

    【讨论】:

    • 是的,我不知道我可以像值一样使用 E!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    • 2021-07-13
    • 2016-12-19
    相关资源
    最近更新 更多