Heim  >  Fragen und Antworten  >  Hauptteil

Der Dezimalteil nach dem Komma wird beim Parsen von Gleitkommazahlen in JavaScript ignoriert

<p>Hier ist ein einfaches Szenario. Ich möchte die Subtraktion zweier Werte auf meiner Website anzeigen: </p> <pre class="brush:php;toolbar:false;">//Der Wert auf meiner Website ist: „75,00“ var fullcost = parseFloat($("#fullcost").text()); //Der Wert auf meiner Website ist: „0,03“ var Auctioncost = parseFloat($("#auctioncost").text()); Alert(fullcost); //Ausgabe: 75 Alert(auctioncost); //Ausgabe: 0</pre> <p>Kann mir jemand sagen, was ich falsch mache? </p>
P粉282627613P粉282627613447 Tage vor431

Antworte allen(2)Ich werde antworten

  • P粉587970021

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

    javascript的parseFloat函数不接受区域参数。因此,您需要用.替换,

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

    Antwort
    0
  • P粉635509719

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

    这是"By Design"。 parseFloat 函数只会考虑字符串的部分,直到遇到非 +、-、数字、指数或小数点为止。一旦它看到逗号,它就停止查找,并只考虑 "75" 部分。

    要修复这个问题,将逗号转换为小数点。

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

    Antwort
    0
  • StornierenAntwort