2016-06-12 25 views
0

.toFixed(2)。限制爲2個地方,固定不工作

我有這個工作正常,我得到了我的準確答案。

 var la_95_m = document.getElementById("la_95_charge_m"); 
la_95_m.value = (((total_current_storage.value/total_current_draw_30.value)/cd5_factor) * bc_95_sd_ad) * new_old_factor; 

我需要包裝的「VAR la_95_m」與toFixed(2),但無論我如何嘗試它,我不斷打破腳本。

所有這些

var la_95_m.toFixed(2); 

var la_95_m.value.toFixed(2); 

var la_95_m.toFixed(2) = document.getElementById("la_95_charge_m"); 
        la_95_m.value = (((total_current_storage.value/total_current_draw_30.value)/cd5_factor) * bc_95_sd_ad) * new_old_factor; 

休息吧。

任何提示/幫助表示感謝var la_95_m.toFixed(2);

+0

參考:HTTPS ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed#Examples – erictgrubaugh

回答

0

更改爲la_95_m.value = la_95_m.value.toFixed(2);

.toFixed(n)實際上並沒有改變你打電話給它的號碼的值,它只是返回一個新的字符串,其中有n位數字。

3

你不能聲明變量有一個類型,它是.toFixed(),這樣的變化上:

var la_95_m.toFixed(2) 

工作。

你需要調用.toFixed(2)你的計算結果:

var result = (((total_current_storage.value/total_current_draw_30.value)/cd5_factor) * bc_95_sd_ad) * new_old_factor; 
la_95_m.value = result.toFixed(2); 

result包含一個數值,result.toFixed(2)返回一個字符串,它是帶兩個小數位的數量。 (如果result數字,你會得到一個錯誤。)

要做到這一點,而不需要創建額外的result變量,包你的計算在括號中調用該.toFixed(2)

la_95_m.value = (someExpressionThatIsNumeric).toFixed(2); 

la_95_m.value = ((((total_current_storage.value/total_current_draw_30.value)/cd5_factor) 
       * bc_95_sd_ad) * new_old_factor).toFixed(2); 
+0

非常感謝,這工作完美! – WyattsDad