如何在java中将十进制数字格式化为两个小数点? [复制]

Posted

技术标签:

【中文标题】如何在java中将十进制数字格式化为两个小数点? [复制]【英文标题】:How can i format decimal numbers upto two decimal points in java? [duplicate] 【发布时间】:2012-05-15 10:55:10 【问题描述】:

可能重复:Round to 2 decimal places

假设在一个变量中我有一个像 3.1426384473 这样的十进制数,但我想要 3.14。现在我如何将十进制数格式化为最多两个小数点,如上例所示。

【问题讨论】:

你可以通过DecimalFormatter来做到这一点 【参考方案1】:

双 pi=3.1426384473;

System.out.printf("%.2f",pi);

【讨论】:

【参考方案2】:

试试这个....

DecimalFormat df = new DecimalFormat("#.##");
df.format(3.1426384473);

或者如果你只是想打印,那么你也可以使用它......

System.out.printf("%.2f",d); //d is your number

【讨论】:

还有很多其他方法可以做,我认为谷歌很棒......不是吗【参考方案3】:
public static double round(double value, int places) 
    if (places < 0) throw new IllegalArgumentException();

    long factor = (long) Math.pow(10, places);
    value = value * factor;
    long tmp = Math.round(value);
    return (double) tmp / factor;

【讨论】:

以上是关于如何在java中将十进制数字格式化为两个小数点? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

在 JavaScript 中将十六进制数字格式化为短 UUID

将 BigDecimal 格式化为最多 2 个十进制数字的字符串,在小数部分删除 0

将字符串数字格式化为双变量,小数点后有两个数字

如何在laravel中格式化为包含逗号和点的十进制数?

Java中的紧凑数字格式化行为(在十进制和科学记数法之间自动切换)

如何在 Delphi 中将浮点数转换为字符串,指定有效数字,而不是十进制数字(而不是 G 格式)