在我看来,javascript 的数字 toLocaleString()
和 .NET ToString()
数字格式不同。 toLocaleString()
似乎忽略了我在“工具/Internet 选项/语言”中设置的语言。
例如,为了测试西类牙语支持,我确保工具/Internet 选项/语言中仅列出西类牙语 (es-ES),但是
alert((12.05).toLocaleString());
仍然显示“12.05”(而不是 12,05)
header 中的 Accepted-Language 显示 es-ES,但 javascript 中的 navigator.userLanguage
仍然显示“en-US”(就好像它是从操作系统中选取的一样)
我在这里缺少什么?
最佳答案
你没有错过任何东西。 toLocaleString
从 operating system 获取当前语言环境.
编辑以回复评论
该浏览器设置告诉服务器您喜欢哪种语言。然而,它对 javascript 没有影响。如果你仔细想想,这是完全有道理的。向服务器请求特定语言的内容并不能保证服务器实际上会返回该语言的内容。
但在我看来,您并没有真正的问题,您只是对如何正确测试感到困惑。难道您不能仅更改操作系统语言设置以确保日期格式适合西类牙语使用者吗?
关于Javascript toLocaleString 未使用正确的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9381820/