使用.ToString()在C#中格式化十进制字符串

时间:2016-10-02 08:51:22

标签: c# decimal string-formatting tostring currency-formatting

我有一个存储在十进制result中的金额:

EG。 decimal result = 1935698.27;

如何使用String将其格式化为.ToString(),使其如下所示:R 1 935 698,27

需要执行以下操作:

  • R(注意空格)添加到String
  • 的正面
  • 添加空格以对3&#39s中的值进行分组(即R 00 000 000 000,00
  • .替换为,

根据南非兰特货币格式格式化。

这就是我所拥有的:

decimal result = 1935698.27;
string strResult = result.ToString("What should I put here?"); // Need help

// Expected strResult = "R 1 935 698,27"

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:4)

这是内置的 - 只使用南非文化和currency format specifier

var result = 1935698.27m;
var ci = new CultureInfo("en-ZA");
var strResult = result.ToString("C", ci);
// strResult is R 1 935 698,27

请参阅this fiddle