2010-08-13 41 views
0

我需要parseFloat這個然後用逗號來代替點:我怎麼能parseFloat一個PHP變種JavaScript的內部

sum="<?php echo substr($_tarif_membre,0,-2).'.'.substr($_tarif_membre,-2,2) ?>" * $('#tarif_membre').val() 
total_total= sum.replace('.',',') 
$('#total_total').val(sum) 

如果我不乘以PHP附和$('#tarif_membre').val()變量仍然會顯示結果爲一個浮點數:12.00(因爲它是從PHP回顯),但如果我乘以$('#tarif_membre').val()結果將顯示12,爲什麼?爲什麼不替換方法不起作用(我需要顯示逗號分隔值)

+1

你想用該代碼做什麼? – 2010-08-13 10:03:25

+0

顯示來自mysql數據庫的貨幣值 – tetris 2010-08-13 10:09:04

回答

0

認爲這是你想要做什麼:

var sum = 12.00 * parseFloat($('#tarif_membre').val()); 
total_total= sum.toFixed(2).replace('.',','); 
$('#total_total').val(total_total); 

You can try it out here

你應該離開過引號,因爲它是一個數字,然後parseFloat()#tarif_membre.val(),因爲這將是一個字符串,那麼他們關鍵mainain金錢這裏是浮球調用.toFixed()位小數,這將讓你"12.00" ,一個字符串。您可以將它們替換.,(國際格式化我猜?)然後我堅持這一結果到#total_total,雖然這一塊,我上不確定。

對於其他問題,爲什麼不.replace()工作?這是因爲在你的代碼中它是一個浮點數,而不是一個字符串,只有字符串有替換方法。

+0

謝謝man !,這正是我試圖實現的目標。 – tetris 2010-08-13 12:33:39

0

在Javascript中,有一個整數和浮點數之間沒有區別。 var x = 12.00將轉換回字符串時,只顯示「12」。

如果你想顯示的數字格式,你要麼必須保持它作爲一個字符串("12.00");或者你需要在行爲printf類似的一些代碼(JavaScript沒有;但也有實現它,例如here JavaScript庫)只要你喜歡儘可能多的小數再次格式化。

相關問題