164得票9回答
在Ruby中对浮点数进行四舍五入

我在四舍五入方面遇到了问题。我有一个浮点数,我想将其四舍五入到小数点后两位。然而,我只能使用.round方法,这基本上将其转换为整数,意味着2.34.round # => 2.。有没有一种简单有效的方法可以实现类似于2.3465 # => 2.35这样的效果?

163得票4回答
为什么在Python 3中,4*0.1的浮点数值看起来好看,而3*0.1则不是呢?

我知道大多数十进制数没有精确的浮点表示(浮点数运算是否有问题?)。但是,当两个值都有丑陋的小数表示形式时,我不明白为什么4*0.1可以漂亮地打印为0.4,而3*0.1却不行:>>> 3*0.1 0.30000000000000004 >>> 4*0.1 0....

156得票5回答
C++:如何将double四舍五入为int?

我有一个名为x的double变量,应该是55,但实际上存储为54.999999999999943157,这是我刚刚意识到的。 所以当我执行以下操作时:double x = 54.999999999999943157; int y = (int) x; y = 54而不是55! 这让我困惑了...

154得票12回答
将浮点数向下取整到最近的整数?

我想将浮点数向下取整到最近的整数。但是,如果它不是整数,我希望始终向下取整变量,而不管它距离下一个整数有多近。有没有一种方法可以做到这一点?

150得票25回答
截断小数点后两位,不进行四舍五入。

假设我有一个值为3.4679,想要保留两位小数,而不进行四舍五入,该如何截断呢? 我尝试了以下三种方法,但都得到了3.47: void Main() { Console.Write(Math.Round(3.4679, 2,MidpointRounding.ToEven)); ...

148得票3回答
获得仅保留1位小数

我该如何将45.34531转换为45.3?

145得票5回答
如何在Python 3中使用前导零填充字符串

我试着让 length = 001 在 Python 3 中起作用,但无论我如何尝试打印它,它都会截断没有前导零的值 (length = 1)。我该如何防止这种情况发生,而不必在打印输出之前将 length 转换为字符串?

144得票3回答
在Java中将双精度数转换为整数

在Java中,我想将一个双精度数转换为整数,我知道可以通过以下方式实现:double x = 1.5; int y = (int)x; 如果你这样做,就会得到y=1:int y = (int)Math.round(x); 你可能会得到2。然而,我在想:由于整数的双精度表示有时看起来像1.999...

144得票14回答
检查数字是否为整数。

我很惊讶地发现R没有一个方便的函数来检查数字是否为整数。is.integer(66) # FALSE 帮助文件警告: is.integer(x) 并不测试 x 是否包含整数! 要测试是否为整数,请使用 round 函数,例如示例中的 is.wholenumber(x)。 该示例...

144得票15回答
Scala浮点数和精度

是否有可以截断或四舍五入Double类型的函数? 在我的代码的某个地方,我希望像 1.23456789 这样的数字被舍入为 1.23