2014-02-05 5 views
2

Как я видел в google, существует множество реализаций для строки для int или десятичного ... но не для строки.Формат числовой строки для другой числовой строки

Например:

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

Это работает, но проблема в том, что у меня есть строка, и я не хочу, чтобы бросить его в числовой.

string str = "32221.0210"; 

Я хочу, чтобы это было:

str = "32,221.02"; 

Можно ли (без литья)?

Для тех, кто спрашивает, есть ли причина, почему бы не бросить: Да. Я использую инфраструктуру, которая получает строку. Команда инфраструктур не хочет преобразовывать ее в десятичную, так как они также могут получать другие значения, такие как дата и т. Д. В худшем случае можно попробовать TryParse decimal, поэтому мы точно знаем, что он будет работать. Но пока мы пытаемся разобрать строку на строку, как написано выше.

Заранее спасибо :)

+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; 
Смежные вопросы