四舍五入到最接近的截断100

本文关键字:最接近 四舍五入 | 更新日期: 2023-09-27 18:17:52

我想知道如何在截断值时将其舍入到最接近的100。我用的是这个:

private static int CalculatePaperLevel(int paperLevel)
{
   int roundedLevel = 0;
   roundedLevel = ((int)Math.Round(paperLevel / 10.0) * 10);
   return roundedLevel;
}

但这是我想要的

如191 -> 100

224 -> 200

140 -> 100

295 -> 200

四舍五入到最接近的截断100

你可以直接写roundedLevel = (paperLevel / 100) * 100;

这是有效的,因为整数运算总是将结果截断为整数。所以

  • (295/100) -> 2
  • 2 * 100 -> 200

这样的截断是在c#中分割两个int时发生的情况。下面的代码可以满足您的要求:

private static int CalculatePaperLevel(int paperLevel)
{
   int roundedLevel = paperLevel / 100 * 100;
   return roundedLevel;
}

我相信你想要的函数叫做Math.Floor

直接使用Math.Floor (37D/100)*100