Мне нужно преобразовать строку в десятичную.Преобразование строки в десятичную в C# не работает
И я озадачен, почему он не работает
public ActionResult Test(){
decimal result;
bool o = decimal.TryParse("-2,366.15", out result);//false
//decimal c = decimal.Parse("2,366.15", NumberStyles.AllowThousands,new CultureInfo("en-US"));
var info = new CultureInfo("en-US");
bool r = decimal.TryParse("2,366.15", 0, CultureInfo.CurrentCulture, out result);//false
bool t = decimal.TryParse("2,366.15", 0, info, out result);//false
bool e = decimal.TryParse("2,366", 0, info, out result);//false
bool f = decimal.TryParse("-2366.15", 0, info, out result);//false
bool h = decimal.TryParse("2366", 0, info, out result);//true
bool h2 = decimal.TryParse("2366,15", 0, info, out result);//false
bool h3 = decimal.TryParse("2366.15", 0, info, out result);//false
bool g = decimal.TryParse("2,366.15", 0, CultureInfo.GetCultureInfo("en-US"), out result);//false
bool b = decimal.TryParse("2.366,15", out result);//true
}
б и ч дают истинно;
Я работаю над европейской версией IIS, поэтому b читается без проблем.
Однако я пытаюсь преобразовать «2,366.15», который используется в США десятичной и запятой для чисел. Почему добавление информации о культуре, во всех ее перестановках выше, не работает?
Tx