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

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

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

例如。 十进制结果 = 1935698.27;

如何使用 .ToString() 将其格式化为 String,使其看起来像这样:R 1 935 698,27

它需要做以下事情:

  • String前面加上R(注意空格)
  • 添加空格以将值分组为 3(即 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"

非常感谢任何帮助!

最佳答案

这是内置的 - 只需使用南非文化和 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 .

关于c# - 使用 .ToString() 在 C# 中格式化十进制字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39815363/

相关文章:

Python和DynamoDB十进制。不精确

c# - MVVM模型与WCF有何关系

c# - 为什么非托管代码会将内存增加到特定限制?

c# - LINQ删除,然后foreach迭代或为迭代并在循环中删除?

c# - 如何获得内存速度?

java - 使用某种模式格式化数字

ios - 获取小数点后一位 iOS Objective C

c++ - 为什么存款的第一个输出以科学计数法显示?

javascript - JavaScript 中的字符串格式

c# - StringFormat 在设计器中显示错误,但在编译后不显示