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)));