.NET 货币转字符串在值 < 时抑制前导零1
我有一个问题。如果小于 1,则无法找到将小数转换为不带前导零的货币字符串的格式。
例如,
decimal d = 0.14M;
d.ToString("C"); // Translates to $0.14 But I need to get $ .14
是否有一些特殊的精度说明符可以仅调用 ToString 来丰富这种效果?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
试试这个:
来源:http://www.csharp-examples.net/string-format -双/
try this:
source: http://www.csharp-examples.net/string-format-double/
如果您想考虑文化,则需要使用
提供的信息NumberFormatInfo
。下面是将小数格式化为货币但不带前导零的扩展方法。如果您不想使用扩展方法,可以轻松地将扩展方法更改为普通方法。代码中有一个“快捷方式”。它无法处理多个组大小。我认为使用自定义数字格式无法做到这一点,唯一可行的解决方案是使用
N
进行格式化并删除任何前导0
。If you want to take culture into account you need to use the information provided by
NumberFormatInfo
. Below is an extension method to format a decimal as currency but without a leading zero. You can easily change the extension method to a normal method if you don't want to use an extension method.There is one "shortcut" in the code. It is unable to handle multiple group sizes. I don't think that can be done using a custom number format and the only workable solution will then be to format using
N
and remove any leading0
.