精确计算多达 15 位小数
Calculate up to 15 decimal places with precision
如何精确计算最多 15 位小数?在这个例子中,我在 List<double>
中有 3 个双打
4.080000000000001
22.830000000000002
307.5
代码如下:
List<double> values = new List<double> { 4.080000000000001, 22.830000000000002, 307.5 };
var result = values.Sum();
结果等于334.41
我如何计算这个精度应该是多少?
334.410000000000003
使用 System.Decimal
类型而不是 System.Double
List<decimal> decimals = new List<decimal>()
{ 4.080000000000001m, 22.830000000000002m, 307.5m };
decimal result = decimals.Sum();
Console.WriteLine(result);
Console.ReadLine();
结果:334.410000000000003
请注意,您需要在文字上使用 'm' 词缀来表示它是十进制文字而不是双精度文字。
如何精确计算最多 15 位小数?在这个例子中,我在 List<double>
4.080000000000001
22.830000000000002
307.5
代码如下:
List<double> values = new List<double> { 4.080000000000001, 22.830000000000002, 307.5 };
var result = values.Sum();
结果等于334.41
我如何计算这个精度应该是多少?
334.410000000000003
使用 System.Decimal
类型而不是 System.Double
List<decimal> decimals = new List<decimal>()
{ 4.080000000000001m, 22.830000000000002m, 307.5m };
decimal result = decimals.Sum();
Console.WriteLine(result);
Console.ReadLine();
结果:334.410000000000003
请注意,您需要在文字上使用 'm' 词缀来表示它是十进制文字而不是双精度文字。