簡體   English   中英

如何設置無小數位數但只有小數為零時的貨幣格式?

[英]How can I format currency with no decimals but only when the decimal is zero?

我目前正在使用以下格式將十進制格式設置為貨幣。

double value = 12345.6789;
Console.WriteLine(value.ToString("C", CultureInfo.CurrentCulture));

// Result: $12,345.68

這是我想要的行為,除了小數點為0時(如double value = 12345.00;

那么結果應該是$12,345

我已經嘗試使用#變體,例如.ToString("C.##"等。但我無法按照我的要求使其正常工作。

使用decimal ,您可以確定要使用的格式字符串:

//decimal value = 12345.6789m;
decimal value = 12345.0000m;

var formatString = Decimal.Truncate(value) == value ? "C0" : "C";

Console.WriteLine(value.ToString(formatString, CultureInfo.CurrentCulture));

這樣的東西怎么樣.ToString("0.##")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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