如何将Math.Round打造成3.75到3.7?
我尝试过以下选项:
Math.Round(3,75d,1,MidpointRounding.AwayFromZero) == 3.8
Math.Round(3,75d,1,MidpointRounding.ToEven) == 3.8
编辑: 一些背景。我需要3.6,3.5,4.2和3.7的平均值,但要求是它应该是3.7超过3.8。
答案 0 :(得分:2)
我认为你不能用Math.Floor
指定小数精度。但你可以尝试:
Math.Floor(num * 10) / 10
我相信Math.Floor
会返回一个双精度数。所以这应该有用。
答案 1 :(得分:0)
n = 3.75;
a = System.Math.Round (n, 2, MidpointRounding.ToEven); // 3.70
b = System.Math.Round (n, 2, MidpointRounding.AwayFromZero); // 3.80
也尝试Math.Floor
使用a
进行工作!
答案 2 :(得分:0)
所以,而不是传统的规则= x.5 = x + 1即。 1.04轮到1.0和1.05回合到1.1。你想永远下台吗?
您可以使用Floor执行此操作(如之前的回复中所示),但我认为这会给出负数的问题 - 您必须进行一些测试(所以您需要使用'if'子句来如果你的号码是<0,请使用天花板。