gpt4 book ai didi

c# - 为什么 C# System.Decimal 会记住尾随零?

转载 作者:IT王子 更新时间:2023-10-29 04:49:34 26 4
gpt4 key购买 nike

C# System.Decimal 记住输入的尾随零的数量是否有原因?请参阅以下示例:

public void DoSomething()
{
decimal dec1 = 0.5M;
decimal dec2 = 0.50M;
Console.WriteLine(dec1); //Output: 0.5
Console.WriteLine(dec2); //Output: 0.50
Console.WriteLine(dec1 == dec2); //Output: True
}

小数被归类为相等,但 dec2 记得它是用一个额外的零输入的。这样做的原因/目的是什么?

最佳答案

它可以用来表示一个数字包括它的精度 - 所以 0.5m 可以用来表示“0.45m 到 0.55m 之间的任何东西”(有适当的限制)并且可以使用 0.50m表示“介于 0.495m 和 0.545m 之间的任何值”。

我怀疑大多数开发人员实际上并没有使用这个功能,但我可以看到它有时是多么有用。

我相信这种能力首先出现在 .NET 1.1 中,顺便说一句 - 我认为 1.0 中的小数总是有效地规范化。

关于c# - 为什么 C# System.Decimal 会记住尾随零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2996775/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com