格式化数字字符串到另一个数字字符

时间:2014-02-05 07:19:25

标签: c# string string-formatting

正如我在google中看到的那样,有许多字符串实现为int或decimal ...但不是字符串。

例如:

decimal d1 = 32221.0210m;
Console.WriteLine(d1.ToString("#,###.00"));

这有效,但问题是我有一个字符串,我不想把它转换为数字。

string str = "32221.0210";

我希望它是:

str = "32,221.02";

是否可以(没有施法)?

对于那些询问是否有任何理由不投的人:是的。我正在使用接收字符串的基础结构。基础设施团队不希望将其转换为十进制,因为他们也可能收到其他值,如日期等... 在更糟糕的情况下,有可能TryParse十进制,所以我们肯定知道它会工作。但是现在,我们正在尝试将字符串解析为字符串,如上所述。

提前致谢:)

1 个答案:

答案 0 :(得分:0)

需要一个十进制类型的临时变量:

decimal d;
string str = decimal.TryParse("32221.0210", out d)? string.Format("{0:#,##0.00}", d):string.Empty;