Java 小数点后两位以内的大双精度数字

Java 小数点后两位以内的大双精度数字,java,android,numbers,double,Java,Android,Numbers,Double,我想将双精度值四舍五入到小数点后2位- double d = 1.13452289575668E8; DecimalFormat f = new DecimalFormat("##.00"); System.out.println(f.format(d)); 产出:113452289.58 产出:2.35 那么,如何才能使双精度数字(如1.13452289575668E8)正确显示最多两位小数?该数字正正确向上舍入 科学符号1.13452289575668E8表示1.3x108,即113452

我想将双精度值四舍五入到小数点后2位-

double d = 1.13452289575668E8;
DecimalFormat f = new DecimalFormat("##.00");
System.out.println(f.format(d));
产出:113452289.58

产出:2.35


那么,如何才能使双精度数字(如1.13452289575668E8)正确显示最多两位小数?

该数字正正确向上舍入

科学符号1.13452289575668E8表示1.3x108,即113452289.5756680071353912353515625

给予


四舍五入到小数点后2位是113452289.58

您希望结果像double a=4321.1234->double result=4300?您已有的结果有什么问题?您希望得到什么结果?第一个输出不超过小数点后2位。双d=1.13452289575668E8;应变为1.13。这是正确的输出。你的困惑是什么?@VedPrakash那么你是说如果你给我1.13亿美元,我给你1.13美元,这些都是一样的,所以你会很乐意这样做?如果问题是无效的,它不应该被关闭而不是被回答吗?这可能会澄清操作。。。
double d = 2.34568;
DecimalFormat f = new DecimalFormat("##.00");
System.out.println(f.format(d));
double d = 1.13452289575668E8;
System.out.println(new BigDecimal(d));
113452289.5756680071353912353515625