我正在嘗試根據以下要求格式化小數:千位用空格“”隔開小數點由逗號“,”分隔(這是通過使用適當的文化來實現的,在本例中為克羅地亞語)小數點后有兩位數。到目前為止,我得到了這個:String.Format(new CultureInfo("hr-HR"), "{0:# ##0.00}", input)如果數字在小數點前有 4 位或更多位,則此方法效果很好。例如,值5500.5給我"5 500,50"和-5500.5給我"-5 500,50",這就是我想要的。但是如果數字的位數較少,我會在數字前面出現一個空格。例如500.5給了我"500,50"而不是"500,50"。對于負數,在減號和數字之間放置空格:-500.5給我"- 500,50"。所以我不能簡單地修剪結果。我怎樣才能達到我所需要的?
2 回答

慕斯709654
TA貢獻1840條經驗 獲得超5個贊
您可以使用自定義NumberFormatInfo來格式化數字。
var nfi = new NumberFormatInfo();
nfi.NumberGroupSeparator = " "; // set the group separator to a space
nfi.NumberDecimalSeparator = ","; // set decimal separator to comma
然后使用格式化數字
number.ToString("N2", nfi); // numeric format with 2 decimal digits
這給你
(5500.5).ToString("N2", nfi) // "5 500,50"
(-500.5).ToString("N2", nfi) // "-500,50"
(-5500.5).ToString("N2", nfi) // "-5 500,50"
- 2 回答
- 0 關注
- 383 瀏覽
添加回答
舉報
0/150
提交
取消