为了账号安全,请及时绑定邮箱和手机立即绑定

使用字符串格式显示最多2位的十进制或简单整数

使用字符串格式显示最多2位的十进制或简单整数

米琪卡哇伊 2019-07-26 15:26:53
使用字符串格式显示最多2位的十进制或简单整数我有一个显示的价格字段,有时可以是100或100.99或100.9,我想要的是只有在为该价格输入小数时才显示2位小数的价格,例如,如果它的100只是它应该只显示100不是100.00,如果价格是100.2,它应该显示100.20同样100.22应该是相同的。我用谷歌搜索并遇到了一些例子,但它们与我想要的完全不符:// just two decimal placesString.Format("{0:0.00}", 123.4567);      // "123.46"String.Format("{0:0.00}", 123.4);         // "123.40"String.Format("{0:0.00}", 123.0);         // "123.00"
查看完整描述

3 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

很抱歉重新启动此问题,但我在这里找不到正确的答案。


在格式化数字中,您可以将其0用作必填位置和#可选位置。


所以:


// just two decimal places

String.Format("{0:0.##}", 123.4567);      // "123.46"

String.Format("{0:0.##}", 123.4);         // "123.4"

String.Format("{0:0.##}", 123.0);         // "123"

你也可以结合0使用#。


String.Format("{0:0.0#}", 123.4567)       // "123.46"

String.Format("{0:0.0#}", 123.4)          // "123.4"

String.Format("{0:0.0#}", 123.0)          // "123.0"

因为总是使用这种格式化方法CurrentCulture。对于一些文化.将改为,。


回答原始问题:

最简单的解决方案来自@Andrew(这里)。所以我个人会使用这样的东西:


var number = 123.46;

String.Format(number % 1 == 0 ? "{0:0}" : "{0:0.00}", number)


查看完整回答
反对 回复 2019-07-26
  • 3 回答
  • 0 关注
  • 719 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信