C# 如何获得最佳的数字格式字符串?

C# 如何获得最佳的数字格式字符串?,c#,.net,C#,.net,我读了很多关于数字格式字符串的文章,例如: 我真的不明白如何写最好的格式字符串。为了得到预期的结果,我可以写一些方法。示例:将编号1234567890打印为文本“1234567890”。这些方法得到了相同的结果: 1234567890.ToString("#,#") 1234567890.ToString("#,##") “#,###”是互联网上流行的一个,但为什么呢?请给我一些信息如何写一个好的格式字符串。谢谢。在您的情况下,这无关紧要,因为您使用的是int。这种格式的,和,都是双精度的,这

我读了很多关于数字格式字符串的文章,例如:

我真的不明白如何写最好的格式字符串。为了得到预期的结果,我可以写一些方法。示例:将编号1234567890打印为文本“1234567890”。这些方法得到了相同的结果:

1234567890.ToString("#,#")
1234567890.ToString("#,##")

“#,###”是互联网上流行的一个,但为什么呢?请给我一些信息如何写一个好的格式字符串。谢谢。

在您的情况下,这无关紧要,因为您使用的是
int
。这种格式的
都是双精度的,这意味着在小数点后只打印两位数字。

据我所知,
“,”
“,”都是指“用分组分隔符格式化一个数字,而不使用小数部分”。有关详细信息,请参阅。

格式化字符串取决于需要格式化的原因。是否要将其格式化为货币?如果您想格式化为货币,可以使用
1234567890.ToString(“C2”)
1234567890.ToString(“c”)
当您想将数字1234567890格式化为字符串“1234567890”时,许多用户会认为使用“#”,“##”,但为什么我们不使用“#”,“#”。这是我的问题。我明白了,基本上,#和##之间有什么区别。有趣的是,我也想知道。@LuLu因为它们不会产生相同的结果,请尝试使用百分比,例如
double percent=.086使用
您将获得0,1,而使用
,#
您将获得0,09@Prix:我使用公共点,而不是小数点。小数点太清楚了,无法理解。呃,不。逗号是一个组分隔符,而不是小数点。你可以举一个例子来找出我给出的两个格式字符串之间的差异。谢谢。你说得对,这取决于地区设置。如果,组分隔符,则#、#和#、#是同一事物。如果是小数点分隔符,则小数位数会有所不同shown@PaoloFalabella这是一种数字格式。如果数字格式的行为根据您所在的地区而改变,那么它将是混乱的,你不这样认为吗?@Nolonar我用
(1234.5678)进行了检查。ToString(#,#,#,#,#,#,#,#,#,#,#,#,#。。。给出相同的结果。但是为什么“#,##”比其他人更受欢迎呢。在所有方面,哪种方式渲染得很快?是的,它们都是一样的。在运行时间上不会有明显的差别(参见源代码),但是
在格式字符串中少了一个要解析的字符-如果你在买房子时倾向于为了一分钱而讨价还价。为什么
更受欢迎-纯粹是意外加上复制粘贴编码。