现象:
因需要对比投资成功前与投资成功后前后的剩余金额的断言,在断言的时候发现针对double类型计算时会出现精度计算问题:
例如使用代码如下:
如上图会因精度导致断言失败。
最后使用 DecimalFormat 类将数字进行格式化,代码如下:
DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置。
本文介绍了一种在软件测试中遇到的double类型计算精度问题及解决方案。通过使用DecimalFormat类对double类型的数值进行格式化处理,有效避免了由于浮点数计算不精确导致的断言失败。
现象:
因需要对比投资成功前与投资成功后前后的剩余金额的断言,在断言的时候发现针对double类型计算时会出现精度计算问题:
例如使用代码如下:
如上图会因精度导致断言失败。
最后使用 DecimalFormat 类将数字进行格式化,代码如下:
DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置。

被折叠的 条评论
为什么被折叠?