Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将toFixed()应用于HTML5 web app中的输入值_Javascript_Html_Web - Fatal编程技术网

Javascript 如何将toFixed()应用于HTML5 web app中的输入值

Javascript 如何将toFixed()应用于HTML5 web app中的输入值,javascript,html,web,Javascript,Html,Web,我正在开发HTML5 web应用程序,在该程序中,我从用户处获取输入,并将其转换为逗号数字(如1000),但我希望使用逗号时,它也应转换为固定值(如1000.00),因此如何添加此方法是我的代码 下面是我的代码的JSFIDLE演示 这是密码 <input type="text" id="test" onBlur="addCommas(this)"> <input type="hidden" id="testRealValue"> <script>

我正在开发HTML5 web应用程序,在该程序中,我从用户处获取输入,并将其转换为逗号数字(如1000),但我希望使用逗号时,它也应转换为固定值(如1000.00),因此如何添加此方法是我的代码

下面是我的代码的JSFIDLE演示

这是密码

 <input type="text" id="test" onBlur="addCommas(this)">
 <input type="hidden" id="testRealValue">

 <script>
 function isNumber(n) {
 return !isNaN(parseFloat(n)) && isFinite(n);
 } 
 function addCommas(input){



nStr = input.value;
if(!isNumber(nStr))return;
document.getElementById("testRealValue").value = nStr;
var offset = nStr.length % 3;
if (offset == 0)
    input.value = nStr.substring(0, offset) + nStr.substring(offset).replace(/([0-9]{3})(?=[0-9]+)/g, "$1,");
else
    input.value = nStr.substring(0, offset) + nStr.substring(offset).replace(/([0-9]{3})/g,    ",$1");
    var a =document.getElementById('testRealValue').value;
   alert(a);
} 
</script>

函数isNumber(n){
return!isNaN(parseFloat(n))和&isFinite(n);
} 
函数addCommas(输入){
nStr=输入值;
如果(!isNumber(nStr))返回;
document.getElementById(“testRealValue”).value=nStr;
var offset=nStr.length%3;
如果(偏移量==0)
input.value=nStr.substring(0,offset)+nStr.substring(offset).替换(/([0-9]{3})(?=[0-9]+)/g,“$1”);
其他的
input.value=nStr.substring(0,offset)+nStr.substring(offset).replace(/([0-9]{3})/g,“,$1”);
var a=document.getElementById('testRealValue').value;
警报(a);
} 

您应该首先解析浮点,然后应用toFixed:

function isNumber(n) {
    return !isNaN(parseFloat(n)) && isFinite(n);
}
function addCommas(input){



    nStr = input.value;
    if(!isNumber(nStr))return;
    nStr = parseFloat(nStr).toFixed(2);
    document.getElementById("testRealValue").value = nStr;
    var offset = nStr.length % 3;
    if (offset == 0)
        input.value = nStr.substring(0, offset) + nStr.substring(offset).replace(/([0-9]{3})(?=[0-9]+)/g, "$1,");
    else
        input.value = nStr.substring(0, offset) + nStr.substring(offset).replace(/([0-9]{3})/g,    ",$1");
        var a =document.getElementById('testRealValue').value;
    alert(a);


}

当然,由于您现在正在应用tofixed,因此插入逗号的方法使用了错误的索引,您应该对其进行修改,以便将逗号插入到正确的位置,但我会让你自己决定,这意味着你的代码只会显示固定值而不是逗号,我已经做过了,但当我添加逗号时,它不起作用,你能不能在JSFIDLE中编辑,因为我已经给出了链接