toFixed挂我的代码

时间:2012-12-26 18:39:04

标签: javascript

我正在练习练习并遇到了这个问题。

这个问题问:

  

“提示大于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文件,以确保它不是我不理解的加载问题。

加上各种小调整。

很抱歉继续问这些问题,但由于我是自学,我还有别的地方可去!

1 个答案:

答案 0 :(得分:3)

您需要使用parseFloat。使用该函数会将字符串转换为float类型变量,从而允许toFixed函数正常工作。

num2 = parseFloat(num2).toFixed(2);