首页  >  问答  >  正文

浮点数解析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粉282627613447 天前430

全部回复(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
  • 取消回复