C#:如何将整数四舍五入到最接近的 1000

C#: how to round an Integer to the nearest 1000

我如何舍入一个 (int) 以便像 (22536) 这样的数字等于 22000 或 23000?

我还没有在数学中找到具体的方法class,Math.Round似乎只将双精度舍入到最接近的整数。

通过使用模数:

int x = 1500;

int result = x % 1000 >= 500 ? x + 1000 - x % 1000 : x - x % 1000;

去掉千位后检查x是否大于499,然后四舍五入。