[英]Custom numeric format automatics make the last 2 digit into decimal point
[英]Custom Numeric Format Strings: Dynamic Decimal Point
我試圖在C#中格式化一個double,它使用千位分隔符,並添加最多4位小數的數字。
這是直截了當的,除非我不想要小數點,如果它是一個整數。 有沒有辦法使用自定義數字格式字符串而不是tenary運算符的if語句?
目前我有:
string output = dbl.ToString(dbl == (int)dbl ? "#,##0" : "#,##0.####");
謝謝
我相信你的第二個格式字符串“#,## 0。##”應該正是你想要的 - #format字符是一個不會顯示零的占位符。
如果你有“#,###。00”那么你會得到尾隨零。
測試代碼:
double d = 45.00;
Console.Writeline(d.ToString("#,##0.##"));
輸出“45”。 將d設置為45.45會產生輸出“45.45”,聽起來就像你所追求的那樣。
畢竟你得到了答案! ;)
順便提一下,在http://john-sheehan.com/blog/net-cheat-sheets/上有一個方便的格式字符串備忘單(以及其他方便的備忘單)
不,沒有任何內置格式字符串。 您當前的解決方案是實現此目標的最佳方式。
MSDN列出了標准數字格式字符串和自定義數字格式字符串 ,因此您應該能夠自己看到沒有一個直接符合您的需求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.