如何在C#中指定可选的千位分隔符?

时间:2011-10-11 17:43:11

标签: c# format number-formatting

我正在尝试从decimal数据类型打印最多6位小数的物理量。我希望显示千位分隔符,但仅适用于> = 10,000(或< = -10,000)的数字。

例如:

  • 100 - > 100
  • 1000 - > 1000
  • 9999 - > 9999
  • 10000 - >万

我一直在使用这种格式,但这不太对:

myNumber.ToString("#,##0.######");

格式字符串是否有技巧可以让千位分隔符仅在小数点左边有5位或更多位数时显示?

3 个答案:

答案 0 :(得分:4)

我认为没有任何特殊技巧,你必须要做

var result = myNumber >= 10000.0m || myNumber <= -10000.0m ? 
                 myNumber.ToString("#,##0.######") : 
                 myNumber.ToString("###0.######");

答案 1 :(得分:1)

你可以使用myNumber.ToString(“n”),它应该使用当前的文化和格式

答案 2 :(得分:1)

我不相信有“内置”的东西,但这是Iformatprovider&amp; ICustomFormatter是专为。请参阅iformatprovider