我不太确定math.ceiling在这里做什么

时间:2019-06-04 15:04:02

标签: c# function math

有人可以告诉我在这里做什么math.ceiling函数,因为我认为Math.Pow可以在没有它的情况下完成这项工作?您不需要理解其余的代码,因为如果没有Math.Ceiling,代码也可以做到。我只需要Math.Ceiling确保Math.Pow确实以正确的方式计算了其数量还是其他含义的信息即可。预先感谢

a[i] = a[i-1] * 10 + 45 * (int)(Math.Ceiling(Math.Pow(10, i-1)));

2 个答案:

答案 0 :(得分:3)

该呼叫完全没有意义。由于i是数组的索引,因此它必须是一个正整数-否则,由于不是数组的有效索引,它会崩溃(如果i为0或更小)甚至首先编译(如果i根本不是整数)。话虽这么说,在这种情况下,Math.pow已经保证可以返回整数,因此它在输出中不会有任何区别。

答案 1 :(得分:0)

Math.ceiling()是对您的数字将为整数的保证,例如,如果pow返回浮点数,则Math.ceiling将对数字进行舍入。 例如:Pow返回2.7,Math.ceiling返回3。

假设i已经是一个整数,则实际上不需要使用Math.ceiling()函数,因为pow返回将始终是整数。

希望这就是您要寻找的答案。