我正在开发一个网络应用程序。
我需要正确显示一些十进制数据,以便可以将其复制并粘贴到不受我控制的某个 GUI 应用程序中。
GUI 应用程序是区域设置敏感的,它只接受系统中设置的正确小数点分隔符。
我可以猜出小数分隔符Accept-Language
95%的情况下猜测是正确的,但有时会失败。
有什么方法可以在服务器端(最好是这样,以便我可以收集统计数据)或在客户端执行此操作?
Update:
该任务的重点是自动完成它。
事实上,这个 Web 应用程序是一种旧 GUI 的在线界面,有助于正确填写表单。
使用它的用户大多不知道小数分隔符是什么。
The Accept-Language
解决方案已实施并且有效,但我想改进它。
Update2:
我需要检索一个非常具体的设置:在控制面板/区域和语言选项/区域选项/自定义中设置的小数分隔符。
我处理四种操作系统:
- 俄语 Windows 以逗号作为 DS (80%)。
- 英语 Windows,其中 DS 为一分 (15%)。
- 俄语 Windows 的一个特点是可以让写得不好的英语应用程序运行起来 (4%)。
- 使用逗号作为 DS 的英语 Windows 可以使写得不好的俄语应用程序正常工作 (1%)。
所有客户端都在俄罗斯,旧应用程序处理俄罗斯政府颁发的表格,因此询问国家/地区将产生 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');
这有帮助吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)