C# 如何将一个数字(任何数字)向下舍入100?

C# 如何将一个数字(任何数字)向下舍入100?,c#,math,rounding,C#,Math,Rounding,我想把数字四舍五入到最低的100。基本上是199->100,2021->2000,等等。 如何在C#程序中实现这一点 这样就可以了: private static int RoundDown(int input) { return input / 100 * 100; } 这样做的原因如下: 将整数值除以100将得到结果的整数部分。这意味着,如果我们取整数199除以100,数学结果是1.99,但是因为我们处理整数,所以只保留1。将该值再次乘以100将得到100,这是所需的结果。那么,您

我想把数字四舍五入到最低的100。基本上是199->100,2021->2000,等等。 如何在C#程序中实现这一点

这样就可以了:

private static int RoundDown(int input)
{
    return input / 100 * 100;
}
这样做的原因如下:


将整数值除以100将得到结果的整数部分。这意味着,如果我们取整数199除以100,数学结果是1.99,但是因为我们处理整数,所以只保留1。将该值再次乘以100将得到100,这是所需的结果。

那么,您尝试了什么?var rounded=number/100*100可能重复的不是舍入,即截断。用于浮点数的Math.Truncate()。不要忘记负值。舍入99等于100?不应该这样。综合199应该是100。对不起;( @Kesty@Kesty-解释一下为什么这样做很好。如果新手看到这一点,他们会期望
/100*100
会返回原始值。