C# 将数字字符串格式化为另一个数字字符串

C# 将数字字符串格式化为另一个数字字符串,c#,string,string-formatting,C#,String,String Formatting,正如我在google中看到的,有很多实现将字符串转换为整数或小数。。。但不是一串 例如: decimal d1 = 32221.0210m; Console.WriteLine(d1.ToString("#,###.00")); 这是可行的,但问题是我有一个字符串,我不想把它转换成数字 string str = "32221.0210"; 我希望它是: str = "32,221.02"; 有可能(不铸造)吗 对于那些问是否有任何理由不投的人:是的。我正在使用接收字符串的基础结构。基础设施

正如我在google中看到的,有很多实现将字符串转换为整数或小数。。。但不是一串

例如:

decimal d1 = 32221.0210m;
Console.WriteLine(d1.ToString("#,###.00"));
这是可行的,但问题是我有一个字符串,我不想把它转换成数字

string str = "32221.0210";
我希望它是:

str = "32,221.02";
有可能(不铸造)吗

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


提前感谢:)

需要decimal类型的临时变量:

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

有什么特别的原因不使用对话吗?你试过string.Format()()?为什么不想将其转换为数值?@RichardEv我已经更新了我的帖子,你的问题有答案了。