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