使用浏览器时,如何知道操作系统使用哪个小数点分隔符?
我正在开发一个Web应用程序。
我需要正确显示一些十进制数据,以便可以将其复制并粘贴到GUI
不受我控制的某个应用程序中。
GUI应用程序是对语言环境敏感的,并且仅接受系统中设置的正确的十进制分隔符。
我可以从中猜测小数点分隔符,Accept-Language
并且在95%的情况下猜测是正确的,但有时会失败。
有什么方法可以在服务器端(最好是我可以收集统计信息)或在客户端吗?
任务的重点是自动执行。
实际上,该Web应用程序是旧版GUI的一种在线界面,有助于正确填写表格。
使用它的用户种类大多不知道什么是小数点分隔符。
该Accept-Language
解决方案已实现并可以运行,但我想对其进行改进。
我需要检索一个非常具体的设置:中设置的小数点分隔符Control Panel / Regional and Language Options /
Regional Options / Customize。
我处理四种操作系统:
- 俄语Windows,逗号为DS(80%)。
- 英文Windows以句点作为DS(15%)。
- 带有DS期间的俄语Windows,可以使英文应用程序写得不好(4%)。
- 英文Windows,以逗号作为DS,以使书写较差的俄语应用程序正常工作(1%)。
所有100%的客户都在俄罗斯,而旧版应用程序处理的是俄罗斯政府发行的表格,因此,要求一个国家将获得100%的俄罗斯联邦,而GeoIP将获得80%的俄罗斯联邦和20%的其他国家(不正确)答案。
回答:
这是一个简单的JavaScript函数,它将返回此信息。在Firefox,IE6和IE7中进行了测试。在每次更改控制面板/区域和语言选项/区域选项/自定义下的设置之间,我不得不关闭并重新启动浏览器。但是,它不仅提取了逗号和句点,而且还提取了一些奇怪的习俗,例如字母“
a”。
function whatDecimalSeparator() { var n = 1.1;
n = n.toLocaleString().substring(1, 2);
return n;
}
function whatDecimalSeparator() {
var n = 1.1;
n = n.toLocaleString().substring(1, 2);
return n;
}
console.log('You use "' + whatDecimalSeparator() + '" as Decimal seprator');
这有帮助吗?
以上是 使用浏览器时,如何知道操作系统使用哪个小数点分隔符? 的全部内容, 来源链接: utcz.com/qa/398509.html