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

Sco*_*ock 1 c# format number-formatting

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

例如:

  • 100 -> 100
  • 1000 -> 1000
  • 9999 -> 9999
  • 10000 -> 10,000

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

myNumber.ToString("#,##0.######");
Run Code Online (Sandbox Code Playgroud)

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

Bal*_*a R 5

我不认为有什么特别的技巧,你必须做

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