首頁  >  問答  >  主體

浮點數解析JavaScript中逗號後的小數部分被忽略

<p>這裡有一個簡單的場景。我想在我的網站上顯示兩個值的減法:</p> <pre class="brush:php;toolbar:false;">//我的網站上的值是:"75,00" var fullcost = parseFloat($("#fullcost").text()); //我的網站上的值是:"0,03" var auctioncost = parseFloat($("#auctioncost").text()); alert(fullcost); //輸出:75 alert(auctioncost); //輸出:0</pre> <p>有人可以告訴我我做錯了什麼嗎? </p>
P粉282627613P粉282627613396 天前391

全部回覆(2)我來回復

  • P粉587970021

    P粉5879700212023-08-22 12:50:38

    javascript的parseFloat函數不接受區域參數。因此,您需要用.取代,

    #
    parseFloat('0,04'.replace(/,/, '.')); // 0.04

    回覆
    0
  • P粉635509719

    P粉6355097192023-08-22 00:17:29

    這是"By Design"。 parseFloat 函數只會考慮字串的部分,直到遇到非 、-、數字、指數或小數點為止。一旦它看到逗號,它就停止查找,並只考慮 "75" 部分。

    要修復這個問題,將逗號轉換為小數點。

    var fullcost = parseFloat($("#fullcost").text().replace(',', '.'));

    回覆
    0
  • 取消回覆