0

我怎样才能使 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。

4

3 回答 3

2

我认为您不能使用Math.Floor. 但你可以尝试:

Math.Floor(num * 10) / 10

我相信Math.Floor返回双倍。所以这应该有效。

于 2013-02-13T19:39:58.267 回答
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您的工作!

于 2013-02-13T19:38:29.077 回答
0

因此,而不是=x.5 = x+1的常规规则,即。1.04 轮到 1.0 和 1.05 轮到 1.1。你想永远下去吗?

您可以使用 Floor 来执行此操作(如之前的回复所示),但我认为这会给负数带来问题 - 您必须进行一些测试(因此您需要使用 'if' 子句来代替使用 ceiling如果您的号码<0。

于 2013-02-15T09:32:38.810 回答