簡體   English   中英

C#中的貨幣格式縮短輸出字符串

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

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