将小数点四舍五入到最接近的50并返回整数

本文关键字:返回 整数 最接近 小数点 四舍五入 | 更新日期: 2024-10-18 05:56:50

这个问题的后续内容:C#如何始终四舍五入到最近的50

如何将小数点四舍五入到最接近的50并返回int,我可以执行以下操作,但必须有更有效的解决方案?

decimal test = 154.45m;
decimal newValue = Math.Floor(test / 50m) * 50.0m;
int testInt = Convert.ToInt32(newValue);

将小数点四舍五入到最接近的50并返回整数

不必转换为int,只需通过铸造获得int部分。

int testInt = (int) Math.Floor(test / 50m) * 50.0m;

我不确定这样可以获得多大的性能,但Convert.ToInt32也会四舍五入到最接近的32位整数,而强制转换只会给你int部分的