System.Math.Round 方法 (Decimal, Int32)

方法描述

将小数值按指定的小数位数舍入。

语法定义(C# System.Math.Round 方法 (Decimal, Int32) 的用法)

public static decimal Round(
	decimal d,
	int decimals
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
d System-Decimal 要舍入的小数。
decimals System-Int32 返回值中的小数位数。
返回值 System.Decimal 最接近 d 的 decimals 位小数的数字。

提示和注释

decimals 参数指定返回值中的小数位数以及范围 0 和 28。 如果 decimals 等于零,则返回整数。

如果 d 中 decimals 小数位置右侧的第一位数字的值为 5,则 decimals 位置中的数字向上舍入(如果为奇数)或不变(如果为偶数)。 如果 d 的精度小于 decimals,则返回 d 而不做更改。

此方法的行为遵循 IEEE 标准 754 的第 4 节。 这种舍入有时称为就近舍入或四舍六入五成双。 它可以将因单方向持续舍入中点值而导致的舍入误差降到最低。

若要控制 Round(Decimal, Int32) 方法使用的舍入类型,请调用 Decimal.Round(Decimal, Int32, MidpointRounding) 重载。

System.Math.Round 方法 (Decimal, Int32)例子

下面的示例演示就近舍入。

Math.Round(3.44, 1); //Returns 3.4.
Math.Round(3.45, 1); //Returns 3.4.
Math.Round(3.46, 1); //Returns 3.5.

Math.Round(4.34, 1); // Returns 4.3
Math.Round(4.35, 1); // Returns 4.4
Math.Round(4.36, 1); // Returns 4.4

异常

异常 异常描述
ArgumentOutOfRangeException decimals 小于 0 或大于 28。
OverflowException 结果超出了 Decimal 的范围。

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1 受以下版本支持:

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。