当打开一个包含带小数位数的(剃刀)页面时(在这种情况下设置为4),逗号分隔符被解释为千位分隔符,它将数字扩展到它的小数位,如图所示:
这在NopCommerce 3.8开发树的管理面板中发生,并且仅在远程服务器上发生。我在本地调试版本中没有看到这个问题,所以这可能与服务器设置有关,甚至与底层数据库(Microsoft SQL-Server)有关。我不确定这是否是NopCommerce问题,所以我并不限制它为该标签。
我知道NopCommerce正在强制管理面板中的文化,因为Kendo Grid的工作原理。同样,我不确定这与实际问题有什么关系。
这个问题也体现在文本框不允许''字符。我只能使用'。试图保存一个类似于' 0.20'以消息终止:
价值' 0.2000'对...无效。
更新1(Global.asax.cs中设置的文化):
if (webHelper.GetThisPageUrl(false).StartsWith(string.Format("{0}admin", webHelper.GetStoreLocation()),
StringComparison.InvariantCultureIgnoreCase))
{
//admin area
//always set culture to 'en-US'
//we set culture of admin area to 'en-US' because current implementation of Telerik grid
//doesn't work well in other cultures
//e.g., editing decimal value in russian culture
CommonHelper.SetTelerikCulture();
}
else
{
//public store
var workContext = EngineContext.Current.Resolve<IWorkContext>();
var culture = new CultureInfo(workContext.WorkingLanguage.LanguageCulture);
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
}
答案 0 :(得分:1)
这似乎与它正在使用的文化有关。尝试指定在web.config中使用哪种文化:
<configuration>
<system.web>
<globalization uiCulture="en" culture="en-US" />