У меня есть приложение .NET, которое позволяет пользователю выбирать свой язык и культуру (форматирование даты / числа).Их настройки культуры хранятся в Thread.CurrentThread.CurrentCulture
(также Thread.CurrentThread.CurrentUICulture
, но это отдельная проблема).
Когда я распечатываю переменную через Razor, она отображается в локализованном формате:
<span>@bignum</span> (renders as "123.456" or "123,456")
Однако мне также нужно передать некоторые переменные .NET в Javascript:
var js_bignum = @bignum;
Проблема в том, что Javascript в этом случае не понимает локализованные версии этих чисел, поэтому он не работает, так как приведенный выше операторстановится:
var js_bignum = 123,456;
Возможно, это связано с тем, что настройка языка браузера пользователя отличается от настройки языка веб-приложения пользователя.В любом случае, мы должны уметь справляться с такой ситуацией.
Так какой же самый простой способ справиться с этим?Я могу создать свой собственный Javascript ConvertToStandardNumberFormat()
, который принимает строковое значение из .NET и возвращает «стандартный» числовой формат, но это выглядит как хак.Есть ли способ заставить .NET / razor визуализировать нелокализованный номер формата?
var js_bignum = @price.ToUnlocalizedFormat(); (Is there something like this?)
Я просто пытаюсь выяснить, каковы лучшие практики для ситуаций такого типа.
Спасибо!