四舍五入的RoundTo()差异

时间:2019-04-18 07:48:42

标签: c++

IDE = Borland C ++ Builder 6

RoundTo函数()有问题

否则将舍入偶数或奇数

如果我有RoundTo(number,0),其中number = 46.5,则结果为46 如果我有RoundTo(number,0),其中number = 45.5,那么结果也是46 搜索一个函数,每次小数为0.5时,结果将四舍五入。

2 个答案:

答案 0 :(得分:0)

ceil函数不好,因为它将数字四舍五入为整数,我也需要在逗号后四舍五入。

我的数字46.5恰好是46.5,因为我通过直接将其赋予函数进行测试,结果是相同的。

答案 1 :(得分:0)

也许这不是一个优雅的解决方案,但它可以工作

double number, aftercomma;
int intnumber;

number = 46.5;
intnumber = (int)number;
aftercomma = number - intnumber;
if(aftercomma >= 0.5)
   {
    number = Ceil(number);
   }
else
   {
    number = Floor(number);
   }