圆形数字到下一个int,c#中的数百和#

时间:2015-01-27 16:05:58

标签: c# math rounding

我根据某些条件试图围绕c#不同的数字:

如果number在0到100之间,则将其四舍五入为最接近的整数。例如:8.4 = 8,8.6 = 9 如果数字介于101和10000之间,则将其四舍五入到最接近的百位数。例如:1545 = 1500,1551 = 1600

如果数字是>超过10000,围绕它近千。例如:15499 = 15000,15600 = 16000。

但是我尝试过使用math.round而它似乎没有用。你能给我一个提示吗?

谢谢

1 个答案:

答案 0 :(得分:4)

此代码可以完成这项工作。

double number = 1551;
if (number >= 0 && number <= 100)
{
    number = Math.Round(number);
}
else if (number > 100 && number <= 10000)
{
    number = Math.Round(number / 100) * 100;
}
else if (number > 10000)
{
    number = Math.Round(number / 1000) * 1000;
}

Console.WriteLine(number);

无论如何,我建议你不要对这些值进行硬编码,但要考虑另一种更容易被抽象的逻辑。