有人可以解释为什么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))?
对于应该如此简单的事情来说,这太丑了.
解决方法
2.4 – 2.0的双重表示是0.399999999999.将数字转换为int时,小数部分将被截断,因此3.999999999将截断为3.
然后还请解释如何获得4.即我真的必须做int(System.Math.Round((2.4 – 2.0)* 10.0))?
对于应该如此简单的事情来说,这太丑了.