Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中,如何将十进制数的格式设置为最多两个小数点?_Java_Bigdecimal_Number Formatting - Fatal编程技术网

在java中,如何将十进制数的格式设置为最多两个小数点?

在java中,如何将十进制数的格式设置为最多两个小数点?,java,bigdecimal,number-formatting,Java,Bigdecimal,Number Formatting,可能重复: 假设在一个变量中,我有一个像3.1426384473这样的十进制数,但我想要3.14。现在我如何格式化十进制数,最多两个小数点,如上面的例子 公共静态双循环(双值,整数位){ public static double round(double value, int places) { if (places < 0) throw new IllegalArgumentException(); long factor = (long) Math.pow(10,

可能重复:

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

公共静态双循环(双值,整数位){
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;
}
如果(位置<0)抛出新的IllegalArgumentException(); 长因子=(长)数学功率(10位); 值=值*系数; 长tmp=数学四舍五入(值); 返回(双)tmp/系数; }
试试这个

DecimalFormat df = new DecimalFormat("#.##");
df.format(3.1426384473);
或者如果你只是想打印,那么你也可以用这个

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

双pi=3.1426384473


System.out.printf(“%.2f”,π)

有这么多其他的方法可以做,我认为谷歌是伟大的…是不是你可以用一个