当前位置: 首页 > 编程语言 > C#

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

时间:2023-04-11 02:03:10 C#

需要使用自定义货币格式才能与String.Format一起使用我在C#中尝试使用String.Format("{0:c}",somevalue),但我无法弄清楚如何配置输出以满足我的需要。这是我的需要:0输出为空白1.00输出为$1.0010.00输出为$10.00100.00输出为$100.001000.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种情况的格式吗?我阅读的所有文档仅详细介绍了基础知识,并未涵盖此类场景。如果你使用string.Format("{0:$#,##0.00;($#,##0.00);''}",value)你会得到值为零的"",其他值应该正确格式化也。尝试这样的事情:Stringcurrency=(number==0)?String.Empty:number.ToString("c");根据您是否始终对所有货币值使用相同的数据类型,您可以编写一个扩展方法,以便始终适合您的情况。例如,如果您使用小数类型:publicstaticstringToCurrencyString(thisdecimalvalue){if(value==0)returnString.Empty;返回值.ToString("C");这是一个有用的参考源,它总结了这些数据:http://blog.stevex.net/string-formatting-in-csharp/“C”货币格式很好,直到你需要一个空白到0。这里有两种方法,一个是上面提到的,类似于我使用的那些给你0的空白://一种方式string.Format("{0:$#,##0.00;($#,##0.00);''}",somevalue)//另一种方式somevalue.ToString("$#,##0.00;($#,##0.00);''")如果你喜欢这种编码风格(就像我一样),第二个This技术将更加“流畅”。以上就是C#学习教程:需要自定义货币格式,配合String.Format使用。代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: