开发者问题收集

无法在 Javascript 中使用 toFixed 方法

2014-06-16
1719

我正在尝试学习 Javascript 并创建一些简单的脚本,我试图为我自己创建一个运输成本脚本。计算到达物品的运输成本。除了数字格式之外,一切都正常。我尝试使用 toFixed() 方法格式化数字。但它不起作用。我检查了控制台,结果是

Uncaught TypeError: undefined is not a function (index):23
calculate (index):23
onclick

这是我的 index.php 文件:

    <html>
<head>
    <title>Shipping cost</title>
    <link rel="stylesheet" href="style.css" />
</head>
<body>
    <div class="wrapper">
        Price  : <input type="number" name="price" id="price" />
        Pounds : <input type="number" name="pounds" id="pounds" />
        <input type="button" value="Calculate" onclick="calculate()" />
    </div>


    <script type="text/javascript">


        function calculate(){

        var price   = document.getElementById('price').value;
        var pounds  = document.getElementById('pounds').value;
        var rule    = parseFloat(price) * 0.04 + parseFloat(pounds) * 7;
        var total   = price + rule;
        var result  = total.toFixed(2); 
        document.write(result);


        }

    </script>
</body>
</html>
1个回答

price 是字符串,所以 price + rule 也是字符串。而且字符串没有 toFixed 方法。

如果您想要数字,可以使用 一元运算符 +

var price = +document.getElementById('price').value,
    pounds = +document.getElementById('pounds').value,
    rule = price * 0.04 + pounds * 7,
    total = price + rule,
    result = total.toFixed(2); 
Oriol
2014-06-16