使用字符串格式顯示最多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)
- 3 回答
- 0 關注
- 831 瀏覽
添加回答
舉報
0/150
提交
取消
