[英]c# winform bindingsource format output string to currency without the $ symbol
[英]Currency Format in C# to shorten the output string
嘿,我目前有一種貨幣格式方法:
private string FormatCurrency(double moneyIn)
{
CultureInfo ci = new CultureInfo("en-GB");
return moneyIn.ToString("c", ci);
}
我正在尋求調整這個以縮短字符串,因為貨幣變得更大。 有點像堆棧溢出從999到1k而不是1000(或1.6k而不是1555)。
我想這是一個相對容易的任務,但有沒有內置的功能,或者你只需要手動操作字符串?
謝謝
我將使用以下內容來完成您的需求,我認為沒有任何內置可以直接執行此操作!
return (moneyIn > 999) ? (moneyIn/(double)1000).ToString("c", ci) + "k" : moneyIn.ToString("c", ci);
您可能還想將moneyIn / 1000的結果舍入到1個decmial位置。
HTH
框架內置了任何內容。 您必須為此實現自己的邏輯。
這個問題經常出現 - 請參閱此問題的答案(格式編號,如StackoverFlow(四舍五入為K后綴))。
// Taken from the linked question. Thanks to SLaks
static string FormatNumber(int num) {
if (num >= 100000)
return FormatNumber(num / 1000) + "K";
if (num >= 10000) {
return (num / 1000D).ToString("0.#") + "K";
}
return num.ToString("#,0");
}
您必須編寫自己的函數才能執行此操作。 它沒有內置到.NET中的默認字符串格式化內容中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.