可有人请解释为什么int (0.4 * 10.0)是4又int ((2.4 - 2.0) * 10.0)是3?
然后还请解释如何获得4.即我真的必须这样做int (System.Math.Round((2.4 - 2.0) * 10.0))吗?
对于应该如此简单的事情来说,这太丑了.
然后还请解释如何获得4.即我真的必须这样做
int(System.Math.Round((2.4 - 2.0)*10.0))
对于应该如此简单的事情来说,它真是太难看了.
当然不是,只需定义
let round x = int System.Math.Round(x)
Run Code Online (Sandbox Code Playgroud)
实际上,在.Net中有一种decimal数据类型可以帮助您解决这个问题,如果您的数字可以精确地表示为小数部分.
2.4m - 2.0m == 0.4m
2.4 - 2.0 != 0.4
Run Code Online (Sandbox Code Playgroud)