需要使用自定义货币格式与String.Format一起使用

Not*_*all 13 c# string.format currency

我正在尝试在C#中使用String.Format("{0:c}",somevalue),但我很难搞清楚如何配置输出以满足我的需求.以下是我的需求:

  1. 0输出为空白
  2. 1.00输出到1.00美元
  3. 10.00输出到10.00美元
  4. 100.00输出到$ 100.00
  5. 1000.00输出到$ 1,000.00

我已经尝试过String.Format("{0:c}",somevalue)但是对于零值,它输出$ 0.00这不是我想要的.我也尝试过String.Format("{0:$ 0,0.00; $(0,0.00);#}","somevalue",但对于1.0,它输出$ 01.00.String.Format("{0:$ 0.00; $(0.00);#}",somevalue)适用于大多数情况,但当somevalue为1000.00时,输出为$ 1000.00.

是否有适合所有5个案例的格式?我阅读的所有文档仅详细介绍了基础知识,并未涉及此类方案.

Dav*_*cia 19

如果你使用

string.Format("{0:$#,##0.00;($#,##0.00);''}", value)
Run Code Online (Sandbox Code Playgroud)

您将获得零值的"",其他值也应正确格式化.