2017-03-23 112 views
0

我的JavaScript代碼:JavaScript;圓形,改變圓點,逗號,並設置小數點後三位數字

var final_value = ($('select[name=somevalue1] option:selected').data('calc')-($('select[name=somevalue1] option:selected').data('calc')/100*$('select[name=somevalue2] option:selected').data('calc'))-($('select[name=somevalue1] option:selected').data('calc')-($('select[name=somevalue1] option:selected').data('calc')/100*$('select[name=somevalue2] option:selected').data('calc')))/100*$('select[name=somevalue3] option:selected').data('calc')).toFixed(2); 

這將計算出的東西是什麼我會輸出。我需要做三件事。

  1. .更改爲,; 123,45代替123.45
  2. 回合「業務」,誰逗號後位數:123,46的替代123,45738
  3. 設置後逗號前三個數字一個逗號;的1.234,45代替1234,45

第二件事我做了toFixed(2)。首先我試着在最後加入replace(",",".")。但是這樣做,我沒有獲得任何產出。

誰能幫幫我?

+0

真的與你有7個長jQuery選擇器的問題有關嗎?你能否將問題簡化爲字符串操作的本質? – trincot

回答

1

您需要將數字轉換爲字符串才能執行字符串方法,如replace

var final_value = (42).toFixed(2).replace('.', ','); // excess code truncated 

此外,您可能還想驗證您的操作順序。將變量名稱分配給這些元素值data值是明智的。驗證等式的部分實際上是數字也是明智的。如果任何一組數據都未定義,那麼您最終可能會返回NaN,這將破壞您的整個表達。

希望這可以幫助你繼續你的第三個要求。

+0

我自己找到答案,但謝謝。 – David

+0

@大衛沒問題,解決方案通常在提出問題後纔會出現。 –