我想把双精度数向下舍入到小数点后1位。例如,如果我有一个双精度let val = 3.1915,我想将其向下舍入为3.1。正常的四舍五入函数会将其舍入为3.2,但我基本上只想去掉剩下的小数位。做这件事最好的方法是什么?有没有本机函数来处理这个问题?我知道这很简单,但我想知道最好的方法是什么,我不使用任何变通方法或不好的做法。这不是其他舍入问题的副本,因为我问<em
我正在努力解决如何在c++中将计算结果(双精度)正确地舍入到小数点后n位。,我知道所有涉及的数字都没有精确的二进制表示,但我不希望双精度(我相信它有大约15个十进制数字的精度)在将一个数字近似到5个有效(十进制)数字时遇到困难。例如: yr = (double) round(y/.0001)*0.0001;对于四舍五入到两个十进制数的数字,似乎会产生正确