我有一个显示数字的ASP.net MVC网站。我可以以某种方式确定用户的计算机是否配置为使用逗号或点作为小数分隔符吗?
我可以在Request.UserLanguages中检查不同的语言,但这对于确定小数点分隔符来说不是很准确。
答案 0 :(得分:2)
您可以看到here如何从浏览器语言中获取CultureInfo
- 这将为您提供帮助
您可以使用的CultureInfo
对象:
var sep = browserCulture.NumberFormat.NumberDecimalSeparator;
答案 1 :(得分:1)
MVC在处理小数值时遇到问题。
哈克对此有一个很棒的post。它告诉你如何克服这一点。
答案 2 :(得分:0)
由于您询问最终用户的计算机,答案是否定的。遗憾的是,Web浏览器不会向您提供此类信息。您可以获得的只是用户的首选语言,但它是通过HTTP Accept-Language标头发送到服务器的浏览器设置。就是这样。
如果你认为JavaScript会给你这个,答案就不那么好了。它在沙箱中运行,因此无法访问操作系统
我不确定Flash是否可以访问此类信息(可能),但最终用户可能会阻止它。对于ActiveX控件也是如此,而且它不是跨平台的。
因此,坚持从网络浏览器检测到的文化和相应的格式编号,这样更容易(尽管它不支持最终用户修改操作系统设置)。