这就是我将双精度数转换为2位小数的方法:
amount = roundTwoDecimals(amount);
public double roundTwoDecimals(double d) {
DecimalFormat twoDForm = new DecimalFormat("#.##");
return Double.valueOf(twoDForm.format(d));
}
Run Code Online (Sandbox Code Playgroud)
如果金额= 25.3569或类似的东西,这很好用,但如果金额= 25.00或金额= 25.0,那么我得到25.0!我想要的是舍入和格式化为2位小数.
我的应用程序正在生成Double.toString()生成"-3.1999999999999953"的双打 - 而我希望它生成"-3.2".
我实际上从JScience获得这些双打Amount#getEstimatedValue().
我不想为精度设置任意数量的数字,因为我不知道有多少位数是重要的,但我不希望它产生以"99999999.*"结尾的数字.
如何在没有这个问题的情况下将双打转换为字符串?
我有Double值 Double val = 49.569632
我怎么能以农达val得到49.57