我正在尝试理解如何使用C#将数字四舍五入到最近的十分位。例如,我有一个double类型的值。这个double值当前设置为10.75。然而,我需要将其四舍五入并截断小数点后的所有位数,以得到10.8这个值。在C#中,如何将数字四舍五入到十分位?
Math.Round(yourNumber, 1)
第二个参数是要舍入的小数位数。在您的情况下,您希望结果保留1位小数。
你只需要使用带有decimals
参数的Math.Round
的重载即可。
Math.Round(10.75, 1) // returns 10.8
仅供比较:
Math.Round(10.75) // returns 11
Math.Round(10.75, 0) // returns 11
Math.Round(10.75, 2) // returns 10.75
由于您在标题中使用了Math.Round()
,我假设您已经尝试了基本的Math.Round(10.75,1)
方法,并且它返回了您不希望看到的内容。因此,建议您查看一些不同的函数重载,特别是接受MidPointRounding
枚举的函数重载:
你真的需要四舍五入吗?还是只需要格式化输出但保留变量本身的精度呢?就像这样:
decimal value = 10.75;
value.ToString ("#.#");
return Math.Round(value * 10)/10