簡體   English   中英

自定義數字格式字符串:動態小數點

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM