Shabi Levi Ответов: 1

Друзья я здесь новичок у меня есть код вопроса JQ


<html>
    <head>
        <title>Page Title</title>
        <script src="https://code.jquery.com/jquery-3.1.1.js"></script>
    </head>
       <body>
         <p value="223">JQuery is </p>

<!--!The code prints an integral number like 4! But I'm actually a decimal number 4.4-->

         <p value="4.4">JQuery is </p> 
       <div></div>

       </body>

   
    <script type="text/javascript">
    	
    $( document ).ready(function() {
    var arr=new Array(); $('p').each(function() { 
    $(this).click(function() {
    arr.push($(this).attr("value"));
 
    var total = 0;
    $.each(arr,function(i) {
    total += arr[i] << 0;
     
    $("div").html(total);
          });
       });
    });
 });

    </script>

</html>


Что я уже пробовал:

Я попытался создать массив и попытаться соединить результат всех значений внутри

Bryian Tan

В чем заключается проблема/вопрос?

Shabi Levi

Код печатает целое число, например 4! Но на самом деле я десятичное число 4.4

Afzaal Ahmad Zeeshan

Не берите в голову

Shabi Levi

Вы понимаете, что пишете?
Потому что я действительно не понимаю тебя ...
В любом случае, понимая, в чем моя проблема? &низкотемпературный;

Shabi Levi

@Bryian Tan
Вся работа вам и лучше всего коротка!
Спасибо.

1 Ответов

Рейтинг:
10

Bryian Tan

Я не понимаю, зачем вам сдвиг влево, функция parseFloat должна это делать.

total += parseFloat(arr[i]);// << 0;

Образец[^]

Обновление: в общем случае вам может потребоваться добавить логику для вызова метода toFixed для управления десятичной дробью. Я замечаю 4.4+4.4+4.4 = 13.200000000000001. С.ToFixed(2) выход будет в конечном итоге 13.20

$("div").html(total.toFixed(2));