Парсинг двойного значения для текущей культуры - PullRequest
0 голосов
/ 26 августа 2011

ASP.NET MVC не привязывает двойное значение «1,5» (потому что недопустимый формат для текущей культуры).Поэтому я пытаюсь разобрать его вручную для текущей культуры.

Мое решение заменяет точку с плавающей точкой "1.5" на действительный разделитель поплавков для текущей культуры.

Как я могу заменить поплавковый разделитель действительным разделителем в текущей культуре?

У вас есть лучшее решение для этого?

Ответы [ 2 ]

0 голосов
/ 26 августа 2011

Если вы просто хотите проанализировать «1,5» независимо от культуры, попробуйте следующее:

var culture = System.Globalization.CultureInfo.GetCultureInfo("en-US");
Double.Parse("1.5", culture.NumberFormat);

Это создает экземпляр культуры en-US и говорит парсеру использовать его в этом конкретном случае.

0 голосов
/ 26 августа 2011

Просто укажите, какую культуру вы хотите использовать при разборе:

CultureInfo culture = new CultureInfo(Request.UserLanguages[0]);
return double.Parse("1.5", culture.NumberFormat);

Подробнее см. в документации .

...