C# c语言中的圆函数#

C# c语言中的圆函数#,c#,rounding,bankers-rounding,C#,Rounding,Bankers Rounding,decimals参数指定返回值中的小数位数,范围从0到28。如果小数为零,则返回整数 如果小数点位置右侧d中第一个数字的值为5,则小数点位置的数字如果为奇数,则向上舍入;如果为偶数,则保持不变。如果d的精度小于小数,则d将原封不动地返回 public static decimal Round( decimal d, int decimals ) 为什么3.45返回3.4..我无法理解此输出。有人能帮忙吗您可以使用从MSDN获取参数的Round重载来更改此行为: ToEven(默认

decimals参数指定返回值中的小数位数,范围从0到28。如果小数为零,则返回整数


如果小数点位置右侧d中第一个数字的值为5,则小数点位置的数字如果为奇数,则向上舍入;如果为偶数,则保持不变。如果d的精度小于小数,则d将原封不动地返回

   public static decimal Round(
decimal d,
int decimals
    )

为什么3.45返回3.4..我无法理解此输出。有人能帮忙吗

您可以使用从MSDN获取参数的Round重载来更改此行为:

ToEven(默认值,又称四舍五入)当一个数字介于其他两个数字之间时,它将向最近的偶数方向四舍五入。

AwayFromZero当一个数字位于其他两个数字的中间时,它会向离零最近的数字舍入。

您可以使用舍入重载来更改此行为,该重载从MSDN:

ToEven(默认值,又称四舍五入)当一个数字介于其他两个数字之间时,它将向最近的偶数方向四舍五入。
远离零当一个数字位于其他两个数字的中间时,它会向远离零的最近数字四舍五入。

如您所说


如果小数点位置右侧d中第一个数字的值为5,则小数点位置的数字如果为奇数,则向上舍入;如果为偶数,则保持不变

对于3.45,小数点右边的第一个数字是5,因为4是偶数,所以它保持不变。这是一种非常标准的四舍五入方法,因为如果5总是四舍五入,那么平均值和总和的权重可能会比实际值更高。

正如你所说


如果小数点位置右侧d中第一个数字的值为5,则小数点位置的数字如果为奇数,则向上舍入;如果为偶数,则保持不变


对于3.45,小数点右边的第一个数字是5,因为4是偶数,所以它保持不变。这是一种非常标准的四舍五入方法,因为如果5总是四舍五入,这可能会使平均数和总和的权重高于它们应有的值。

默认四舍五入是
中点四舍五入。ToEven
(银行家四舍五入),这意味着它将趋向于四舍五入位置数字的偶数(即,它将移动到3.4,因为4是偶数)

这是为了最大限度地减少所有中点舍入方向相同时可能出现的错误累积(尽管这当然取决于您的输入数据-从零开始,正数和负数的相等混合可能很好)

所以你有:

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

有关所有可用选项的详细说明,请参阅。

默认舍入为
中点舍入。ToEven
(银行家舍入),这意味着舍入位置的数字将向偶数方向移动(即,由于4是偶数,因此将移到3.4)

这是为了最大限度地减少所有中点舍入方向相同时可能出现的错误累积(尽管这当然取决于您的输入数据-从零开始,正数和负数的相等混合可能很好)

所以你有:

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

有关所有可用选项的详细说明,请参阅。

如果要将3.45舍入到3.5,则必须查看第三个十进位点。小数点右边d中的第一位数字是5,我无法理解此语句…..它很简单,但我无法将(1.55,1)=1.6舍入(1.65,1)=1.6为什么这个输出会出现你传递的整数是你将要得到的小数位数。当你传递1时,意味着你需要小数点后的一位小数。对于1.55,这是5;对于1.65,这是6;对于1.7234,这是7,等等。当C#四舍五入时(或者当任何东西四舍五入时),它必须查看小数点后的数字,以知道如何舍入-否则,它将不得不截断或随机猜测。当您想要的小数点后的数字是5时,它舍入为偶数,以消除总是向下舍入或总是向上舍入的偏差。如果您想将3.45舍入到3.5一必须看第三个十进位。小数点右边d中的第一个数字是5,我无法理解这句话……它很简单,但我无法循环(1.55,1)=1.6轮(1.65,1)=1.6为什么这个输出会出现你传递的整数是你将要得到的小数位数。当你传递1时,意味着你需要小数点后的一位小数。对于1.55,这是5;对于1.65,这是6;对于1.7234,这是7,等等。当C#四舍五入时(或者当任何东西四舍五入时),它必须查看小数后的数字,以知道如何舍入-否则,它将不得不截断或随机猜测。当您想要的小数后的数字是5时,它舍入为偶数,以消除总是向下舍入或总是向上舍入的偏差。