如何确定ASP MVC中的小数分隔符

本文关键字:小数 分隔符 MVC 何确定 ASP | 更新日期: 2023-09-27 17:59:46

我有一个ASP.net MVC网站,它显示数字。我能以某种方式确定用户的计算机是否配置为使用逗号或点作为小数分隔符吗?

我可以在Request.UserLanguages中检查不同的语言,但这对于确定小数分隔符来说不是很准确。

如何确定ASP MVC中的小数分隔符

您可以在这里看到如何从浏览器语言获得CultureInfo-这将使您可以像这样使用的CultureInfo对象:

var sep = browserCulture.NumberFormat.NumberDecimalSeparator;

参见CultureInfoNumberFormatInfo

MVC在处理十进制值时出现问题。

哈克有一篇很棒的帖子。它向你展示了如何克服这一点。

由于您询问的是最终用户的计算机,答案是否定的。不幸的是,web浏览器不会向您提供此类信息。您所能获得的只是用户的首选语言,但它是通过HTTP Accept language标头发送到服务器的浏览器设置。就是这样。
如果你认为JavaScript会给你这个,答案也是否定的。它在沙盒中运行,因此无法访问操作系统
我不确定Flash是否可以访问这些信息(可能),但它可能会被最终用户阻止。ActiveX控件也是如此,而且它不是跨平台的。

因此,请坚持从web浏览器中检测到的Culture和相应的格式编号,这样做会更容易(尽管它不支持最终用户修改操作系统设置)。