Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何以全精度打印浮点数字_C#_Floating Point_Number Formatting_Floating Accuracy - Fatal编程技术网

C# 如何以全精度打印浮点数字

C# 如何以全精度打印浮点数字,c#,floating-point,number-formatting,floating-accuracy,C#,Floating Point,Number Formatting,Floating Accuracy,如果我有一个0.3的值,它不能准确地用double或float表示,我如何将它的实际值打印为字符串。像这样的程序: 用0.3作为输入打印0.3,这对我来说很奇怪,因为根据它应该是0.300000119092895078125 因此,问题是如何强制.net将float/的格式设置为double作为其实际值 R建议仅用于biginger类型。对于Double类型,使用 “G17”;对于单一类型,请使用“G9” 因此,尝试使用G9(因为float最多提供9位有效数字的精度),它会提供预期的输出 Con

如果我有一个
0.3
的值,它不能准确地用
double
float
表示,我如何将它的实际值打印为字符串。像这样的程序:

0.3
作为输入打印
0.3
,这对我来说很奇怪,因为根据它应该是
0.300000119092895078125

因此,问题是如何强制.net将
float
/
的格式设置为double
作为其实际值

R
建议仅用于
biginger
类型。对于
Double
类型,使用 “G17”;对于
单一类型,请使用“G9”

因此,尝试使用
G9
(因为
float
最多提供9位有效数字的精度),它会提供预期的输出

Console.WriteLine({0:G9}),d);
在我的末尾,我将看到
0.30000012
value

“它的真实值。”——>一些大的和小的
double
用100位来表示。通常17位有效数字就足够了。
using System;
class Program 
{
    static void Main(string[] args) 
    {
        var line = Console.ReadLine();
        var d = float.Parse(line);
        Console.WriteLine("{0:R}", d);
    }
}