2012-01-12 4 views
1

Я просто хочу знать, как составить отформатированные строки, как $ 100,000.00 Ive использовать метод разделения, но он не работает, когда многие «» есть ..Как преобразовать форматированные строки в исходное значение?

+0

Позвольте мне понять: у вас есть такая строка, и вам нужно получить сумму int? – Marco

+0

Если это «разрешено», вы должны нажать полый флажок рядом с ответом, который был наиболее полезен вам при решении проблемы, а не добавлять '[resolved]' в заголовок. –

+0

Извините, я просто новый здесь ... Я привык к форумам: laughs –

ответ

0

Вы можете использовать перечислительную перегрузку NumberStyles метода parse в вашем примере. например

string money1 = "$100,000.00"; 
string money2 = "$300,500.00"; 
Double unformattedMoney = Double.Parse(money1, System.Globalization.NumberStyles.Any); 
Double unformattedMoney2 = Double.Parse(money2, System.Globalization.NumberStyles.Any); 

Console.WriteLine(unformattedMoney + unformattedMoney2); 

Как примечание стороны, это не учитывает неправильные числа и выдаст ошибку, если вы пытаетесь форматировать плохую строку.

0
decimal moneyvalue = 1921.39m; 
string html = String.Format("Order Total: {0:C}", moneyvalue); 
Console.WriteLine(html); 

Результаты следующие:

Общая сумма заказа: $ 1,921.39

или, возможно,

String.Format("{0:#,###}", bigNumber); 
+2

Я думаю, что он хочет вернуть процесс, чтобы вернуть исходный номер – Will

+0

@ Да, да .. возможно –

1

Вам нужно получить их до того, как они будут отформатированы. Попытка выполнить вычисления по номерам после, они были отформатированы, задерживаются и сильно подвержены ошибкам. Особенно, если ваше приложение когда-либо используется в другом регионе, где разделители тысяч и десятичные знаки не являются тем, что вы ожидали от них.

Кроме того, имейте в виду, что метод String.Split будет работать нормально, независимо от того, сколько «,» есть, поэтому ваша проблема не является методом разделения, это что-то еще в вашем коде.

0

если и говорить о валюте в частности, проверить это Convert any currency string to double

идея заключается в использовании NumberStyle класса. Надеюсь, что это поможет

Смежные вопросы