我正在练习练习并遇到了这个问题。
这个问题问:
“提示大于1和4的小数位数。格式 并将数字写入显示过去只有2位数的页面 使用toFixed()方法的小数点。 (例如12.35,不是 12.3453)
由于此方法非常新,因此在旧版浏览器中无效。看到 如果你只能得到小数点以外的2位数来显示没有 使用toFixed()。“
我通过这里的档案找到了困难部分的答案,Math.round(n * 100)/ 100。感谢那。但当我尝试“简单”的方式时,我什么都没得到。我的工作是jsFiddle,但简而言之:
var num = prompt("Give me a number greater than one, with 4 decimal places.");
var num2 = prompt("Great! Do one more, please!");
num = Math.round(num*100)/100;
num2 = num2.toFixed(2);
alert(num);
alert(num2);
练习没有要求第二个数字,但我想在不同的事件中使用这两种方法。当我运行它时,它不会发出任何警报。我知道它挂在toFixed语句中,因为当我将其注释掉时,它会按预期警告两个小数位的num1,以及提示时的num2(即1.2345)。
所以这就是我到目前为止所做的:
Mozilla的开发者页面显示以下格式:n.toFixed(1); //返回“12345.7”:注意舍入
似乎我在做什么。
我在Sublime中复制并粘贴了所有内容,确保在关闭正文标记之前调用.js文件,以确保它不是我不理解的加载问题。
加上各种小调整。
很抱歉继续问这些问题,但由于我是自学,我还有别的地方可去!
答案 0 :(得分:3)
您需要使用parseFloat
。使用该函数会将字符串转换为float类型变量,从而允许toFixed
函数正常工作。
num2 = parseFloat(num2).toFixed(2);