2 yue1liang1chuan yue1liang1chuan 于 2013.07.10 17:22 提问

Android四舍五入float类型问题

我的测试结果不一样:

public void testRoundFloat() {
    final NumberFormat format = NumberFormat.getNumberInstance();
    format.setMaximumFractionDigits(2);
    format.setMinimumFractionDigits(2);
    format.setRoundingMode(RoundingMode.HALF_UP);
    assertEquals("102,345.56", format.format(102345.556f));
}

public void testRoundDouble() {
    final NumberFormat format = NumberFormat.getNumberInstance();
    format.setMaximumFractionDigits(2);
    format.setMinimumFractionDigits(2);
    format.setRoundingMode(RoundingMode.HALF_UP);
    assertEquals("102,345.56", format.format(102345.556d));
}

第一次测试四舍五入浮点数失败,因为格式是xxx.55,第二次测试四舍五入double类型成功了。

我是在Android4.2.2版本运行的。

Csdn user default icon
上传中...
上传图片
插入图片