使用.ToString()在C#中格式化十进制字符串
我有一个存储在十进制使用.ToString()在C#中格式化十进制字符串,c#,decimal,string-formatting,tostring,currency-formatting,C#,Decimal,String Formatting,Tostring,Currency Formatting,我有一个存储在十进制结果中的金额: 例如,十进制结果=1935698.27 如何使用.ToString()将其格式化为字符串,使其看起来像这样:R1935698,27 它需要执行以下操作: 将R(注意空格)添加到字符串的前面 添加空格将值分组为3(即R 00 000,00) 用, 该格式符合南非兰特货币格式 这就是我所拥有的: decimal result = 1935698.27; string strResult = result.ToString("What should I put
结果中的金额
:
例如,十进制结果=1935698.27代码>
如何使用.ToString()
将其格式化为字符串
,使其看起来像这样:R1935698,27
它需要执行以下操作:
- 将
(注意空格)添加到R
字符串的前面
- 添加空格将值分组为3(即
)R 00 000,00
- 用
,
decimal result = 1935698.27;
string strResult = result.ToString("What should I put here?"); // Need help
// Expected strResult = "R 1 935 698,27"
非常感谢您的帮助 这是内置的-只需使用南非文化和
请参阅。这是内置的-只需使用南非文化和
请参阅。这不会在
R
和金额之间添加空格。它会-请参阅小提琴。我将输出复制/粘贴到答案中。@BarryMichaelDoyle如果您查看货币说明符的文档,您可以看到如何创建自定义NumberFormatInfo
,以创建您喜欢的任何格式。框架对每个区域性都有一个默认值是有帮助的,因此通常不需要这样做。这不会在R
和数量之间添加空格。它确实-请看小提琴。我将输出复制/粘贴到答案中。@BarryMichaelDoyle如果您查看货币说明符的文档,您可以看到如何创建自定义NumberFormatInfo
,以创建您喜欢的任何格式。框架对每个区域性都有一个默认值是有帮助的,因此通常不需要这样做。
var result = 1935698.27m;
var ci = new CultureInfo("en-ZA");
var strResult = result.ToString("C", ci);
// strResult is R 1 935 698,27