Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.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#_Wpf_String Formatting - Fatal编程技术网

C# 双精度到字符串转换

C# 双精度到字符串转换,c#,wpf,string-formatting,C#,Wpf,String Formatting,我正在使用以下代码: string.Format("{0:###,###,###,###,###.00}",12005557590928.143); 将双精度值转换为字符串 其输出为“12005557590928.10” 如果我把它改成 string.Format("{0:###,###,###,###,###.##}",12005557590928.143); 我明白了。“12005557590928.1” 如何获得输出为“12005557590928.143”我相信您需要string.F

我正在使用以下代码:

string.Format("{0:###,###,###,###,###.00}",12005557590928.143);
将双精度值转换为字符串

其输出为“12005557590928.10”

如果我把它改成

string.Format("{0:###,###,###,###,###.##}",12005557590928.143);
我明白了。“12005557590928.1”


如何获得输出为“12005557590928.143”

我相信您需要
string.Format(“{0:#####,#####,########000,120055590928.143)

(注意末尾的额外零)

我相信您需要
字符串格式({0:######,####,####,######000}),12005557590928.143)
(注意末尾的额外零)

您可以使用

(12005557590928.143).ToString("R")
自定义数字格式字符串显示的
系统小数位数永远不会超过15位。Double
。考虑使用<代码>系统。如果需要更高的精度,请使用十进制< /代码>。< /P> 如果您的目标是显示双精度
的“隐藏”数字,请使用标准格式字符串
“R”
(“往返”)或
“G17”
(“常规”17位)。

您可以使用

(12005557590928.143).ToString("R")
自定义数字格式字符串显示的
系统小数位数永远不会超过15位。Double
。考虑使用<代码>系统。如果需要更高的精度,请使用十进制< /代码>。< /P> 如果您的目标是显示双精度
的“隐藏”数字,请使用标准格式字符串
“R”
(“往返”)或
“G17”
(“常规”17位)。

尝试使用
.ToString(“R”)

下面是一个。

尝试使用
.ToString(“R”)


这是一个。

由于用于数字的数据类型,您会看到一个精度错误。尝试使用定点数字类型(在本例中为
decimal
):


由于用于数字的数据类型,您将看到一个精度错误。尝试使用定点数字类型(在本例中为
decimal
):


这是一个链接,它将向您展示使用
字符串的所有方法。Format
这是一个链接,它将向您展示使用
字符串的所有方法。Format
我认为他不希望在末尾使用零。我认为他不希望在末尾使用零。这将产生
12005557590928.143”
逗号是什么?请解释一下这里的后缀“m”好吗?@UthistranS。“m”代表小数点。关于更多信息,Jon Skeet对stackoverflow上的浮点、双精度和十进制之间的差异给出了一个非常好的答案。这将产生
“12005557590928.143”
逗号是什么?您能在这里解释后缀“m”吗?@UthistranS。“m”代表小数点。关于更多信息,Jon Skeet对stackoverflow@Rotem-interest上的float、double和decimal之间的差异给出了非常好的答案。MSDN过去将其称为固定点。他们的文档实际上仍然写着“与浮点相比……”。MSDN过去将其称为固定点。它们的文档实际上仍然写着“与浮点相比……”。
string.Format("{0:###,###,###,###,###.###}", 12005557590928.143m);
Console.Write(string.Format("{0:0.000}", (12005557590928.143m)));