Конвертировать валютную строку в десятичную?
Задача
Сортироватьstring
это отображает данные валюты, как это$1,995.94
численно в наборе данных.
м в настоящее время, используя приведенный ниже пример кода для преобразованияstring
значение дляdecimal
так что я могу разобрать это правильно.
if (sortBy == "checkAmount")
{
StringBuilder sb = new StringBuilder();
foreach (var c in Convert.ToString(p.GetType().GetProperty(sortBy).GetValue(p, null)))
{
if (!char.IsDigit(c) && c != '.') { continue; }
sb.Append(c);
}
return Convert.ToDecimal(sb.ToString());
}
else
{
return p.GetType().GetProperty(sortBy).GetValue(p, null);
}
проблемаКакие'лучший способ сделать это? Это работает, и этокруто, но этоне очень элегантно
Окончательное решениеОтвет предоставлен Servyработает как положенои я использовал эту реализацию некоторое время, но мы с коллегой нашли еще лучший способ, поэтому яЯ документирую это здесь.Кстати, я в конце концов использовал это решение.
decimal.Parse(input, NumberStyles.AllowCurrencySymbol | NumberStyles.Number);