3
我有一个JavaScript函数,得到的形式从文本字段的三个值,对其求和,并在窗体显示的总和:Javascript国际计算?
function sumVals(theForm) {
var sum = 0.0;
sum += parseFloat(theForm.val01.value);
sum += parseFloat(theForm.val02.value);
sum += parseFloat(theForm.val03.value);
theForm.sumvals.value = sum.toNiceFixed(4);
}
功能正常工作的任何计算机上以英文操作系统。例如,如果为表单中的val01,val02和val03输入值0.2,0.4和0.4,则和数字段显示1.000
但是,在具有意大利或德国操作系统的计算机上,如果我输入val01,val02和val03的形式相同,值为0.2,0.4和0.4,求和字段显示10000.000
我认为这与某些非英语操作系统的解释时间段和逗号数字。但是,如果我在文本字段中输入值时尝试替换逗号(例如0,4),那么只要我将焦点从焦点移开,字段就会切换为0。
我已经签出了一堆处理国际化域名的JavaScript网站,但我找不到任何处理这个具体问题,或者至少我没有认识到这一点。
任何人都可以帮助我一个解决方法,可以轻松解释操作系统的本地语言的JavaScript变量(如果真的是这个问题)?
为什么你会在不同的文化中有相同的数字格式?浏览器应该如何猜测在特定数字下你的意思是什么?德文数字格式是0.4(逗号作为分隔符) –
我不认为'toNiceFixed'方法是标准的。它是你正在使用的一些图书馆的一部分吗?你可以通过打印到控制台来检查'sum'是否正确计算出来吗? – hugomg