2012-12-26 31 views
2

我正在練習題,並就遇到了這個問題。toFixed掛我的代碼

這個問題問:

「提示該數比1和4位小數更大。格式 和寫入與僅2位過去 使用toFixed()方法小數點顯示頁面的數量。 (例如12.35,而不是 12.3453)

由於此方法非常新,因此它在舊版瀏覽器中不起作用。見 如果你能使用toFixed得到的只有2位過去小數點顯示無 ()。」

我找到了答案,困難的部分通過檔案在這裏,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小數點後2位,並NUM2因爲它是提示(即1.2345)。

所以這是我迄今所做的:

Mozilla的開發者頁面顯示了這種格式:n.toFixed(1); //返回「12345.7」:注意四捨五入

看來我是什麼這樣做。

我複製並粘貼到我的Sublime中,確保我在關閉body標籤之前調用了.js文件,以確保它不是一些加載問題,我不明白。

加上各種小調整的。

對不起,讓問這些問題,但由於我是自學的,我有什麼地方去了!

+3

你有NUM2一個字符串,你需要用'parseFloat(NUM2).toFixed(2);' - 按F12,並期待在NUM2控制檯沒有toFixed從,以及基本恢復的方法 – mplungjan

+2

值任何事情,總是字符串,控制檯說:「......有沒有方法toFixed」這是一個線索,這不是一個數字! – adeneo

回答

3

您需要使用parseFloat。使用該函數將字符串轉換爲浮點型變量,從而允許toFixed函數正常工作。

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

parseFloat將提示變量轉換從字符串到浮點數,這將允許'toFixed'做正確的企業,在可變 – khaverim

+1

'parseFloat'沒有基數參數,所以這應該讀作parseFloat(NUM2)' – PhearOfRayne

+0

感謝@ StevenFarley。 – jeremy