设置时,我使用的是BigDecimal数据类型
new BigDecimal(21.30);
Run Code Online (Sandbox Code Playgroud)
然后,我将其作为xml源返回,显示为
21.30000000000710522735760100185871124467578125
Run Code Online (Sandbox Code Playgroud)
另一个号码
new BigDecimal(23.11)
Run Code Online (Sandbox Code Playgroud)
回来
23.1099999994315658113818187512921995859375
Run Code Online (Sandbox Code Playgroud)
我想显示与创建时相同的小数点后的结果。
此构造函数的结果可能无法预测。有人可能会假设
new BigDecimal(0.1)用Java 编写会创建一个aBigDecimal,它等于0.1(一个非标度值为1,小数位数为1),但实际上等于0.1000000000000000055511151231257827021181583404541015625。这是因为0.1不能精确地表示为
double(或就此而言,表示为任何有限长度的二进制分数)。因此,正被传递的值在给构造是不完全等于0.1,虽然表面上。
如果检查BigDecimal Java文档,您将发现必须使用构造函数,该构造函数需要一个String参数来结束所需的行为。
| 归档时间: |
|
| 查看次数: |
66 次 |
| 最近记录: |