2014-02-05 184 views
2

正如我在谷歌中看到的,有很多实现字符串为int或decimal ......但不是字符串。格式数字字符串到另一个数字字符串

例如:

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

这工作,但问题是,我有一个字符串,我不希望它转换为数字。

string str = "32221.0210"; 

我希望它是:

str = "32,221.02"; 

是否有可能(不含铸造)?

对于那些询问是否有任何理由不投的人:是的。我正在使用接收字符串的基础设施。基础设施团队不希望将其转换为十进制,因为他们也可能会收到其他值,如日期等...... 在更糟糕的情况下,可以尝试十进制小数,因此我们确信它会工作。但是现在,我们正试图将一个字符串解析为上面写的字符串。提前:)

+0

有什么特别的理由不使用的谈话? –

+0

你试过string.Format()(http://msdn.microsoft.com/en-us/library/system.string.format(v=vs.110).aspx)吗? – Johnny

+1

为什么你不想将它转换为数字值? –

回答

0

十进制类型的临时变量,

由于需要:

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