【发布时间】:2020-08-04 09:58:58
【问题描述】:
如果我的值 0.3 不能用 double 或 float 准确表示,我该如何将它的 real 值打印为字符串。像this这样的程序:
using System;
class Program
{
static void Main(string[] args)
{
var line = Console.ReadLine();
var d = float.Parse(line);
Console.WriteLine("{0:R}", d);
}
}
以0.3 作为输入确实会打印0.3,这对我来说很奇怪,因为根据this 它应该类似于0.300000011920928955078125。
所以问题是如何强制 .net 将 float/double 格式化为其 real 值。
【问题讨论】:
-
“它的真正价值。” --> 一些大大小小的
double用100位表示exactly。通常 17 位有效数字就足够了。
标签: c# floating-point number-formatting floating-accuracy