Rob*_*vey 18 c# precision decimal
有没有理由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
}
Run Code Online (Sandbox Code Playgroud)
小数被归类为相等,但是dec2会记住它是以额外的零输入的.这是什么原因/目的?
Jon*_*eet 14
表示包括其准确性的数字可能很有用 - 因此0.5m可用于表示"0.45m到0.55m之间的任何东西"(有适当的限制),0.50m可用于表示"0.495m到0.545m之间的任何东西" ".
我怀疑大多数开发人员实际上并没有使用这个功能,但我可以看到它有时会如何有用.
我相信这个能力首先来自.NET 1.1,顺便说一下 - 我认为1.0中的小数总是有效地归一化.