动态整数可以是0到150之间的任何数字。
即-数字返回41,需要返回50。如果数字为10,则需要返回10。数字为1,需要返回10。
我在想如果将整数修改为小数则可以使用上限函数吗?然后使用上限功能,并放回十进制? 唯一需要知道的是数字是1位,2位还是3位(即-7 vs 94 vs 136)
有没有更好的方法来实现这一目标?
谢谢,
n + (10 - n % 10)
这是如何工作的。%运算符求和除法的余数(因此41 % 10求值为1,而45 % 10求值为5)。从10减去该值将得出达到下一个倍数需要多少。
41 % 10
45 % 10
唯一的问题是,它将变成40变成50。如果您不希望这样做,则需要添加一张支票以确保它不是10的倍数。
if (n % 10) n = n + (10 - n % 10);