简体   繁体   中英

i am getting error in console can not read property tostring() in javascript

i am getting error cannot read tostring() . below is my code please help on this

 function convertRounding(nValue) {

        var sArr = nValue.toString("0.00000").split('.');
        **var sVal = sArr[1].toString();**
        if (sVal == "00000" || sVal.substring(1) == "0000" || sVal.substring(2) == "000")
            return parseFloat(nValue).toFixed(2);
        else if (sVal.substring(3) == "00")
            return parseFloat(nValue).toFixed(3);
        else if (sVal.substring(4) == "0")
            return parseFloat(nValue).toFixed(4);
        else
            return parseFloat(nValue).toFixed(5);
    }

我认为基数nValue.toString( “ 0.00000” )有问题,只需尝试nValue.toString()

The value you are passing in (nValue) doesn't contain a dot, and therefore will fail when you try to split.

Make sure your input can indeed be split first.

function convertRounding(nValue) {

    var sArr = nValue.toString().split('.');
    var sVal = sArr[1].toString();
    if (sVal == "00000" || sVal.substring(1) == "0000" || sVal.substring(2) == "000")
        return parseFloat(nValue).toFixed(2);
    else if (sVal.substring(3) == "00")
        return parseFloat(nValue).toFixed(3);
    else if (sVal.substring(4) == "0")
        return parseFloat(nValue).toFixed(4);
    else
        return parseFloat(nValue).toFixed(5);
}

console.log(convertRounding(100.20));
//console.log(convertRounding(100)); // fails

https://jsfiddle.net/qgafbvot/2/

Updated to work with number input.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM