Как отформатировать строку валюты в целое число? - PullRequest
6 голосов
/ 04 ноября 2010

У меня есть строка с форматом валюты, например, $ 35,00, и ее нужно конвертировать в 35.

Возможно ли получить с помощью String.Format{ }

1 Ответ

13 голосов
/ 04 ноября 2010
int value = int.Parse("$35.00", NumberStyles.Currency);

Должен дать вам необходимый ответ.

Однако значение, например, $ 35,50, преобразованное в целое число, скорее всего, не вернет того, что вы хотите, поскольку целые числа не поддерживают частичные (десятичные) числа,Вы не указали, чего ожидать в этой ситуации.

[РЕДАКТИРОВАТЬ: изменено двойное на десятичное, что безопаснее использовать с валютой]

Если вы хотите получитьзначение 35,5 в этой ситуации, вы можете использовать десятичный тип.

decimal value = decimal.Parse("$35.00", NumberStyles.Currency);

Обратите внимание, что вы должны быть очень осторожными при работе с деньгами и точностью с плавающей запятой.

...