Формат цен jquery

285
27 сентября 2017, 10:35

Приветствую! Как сделать такого формата цена 1.100.000 ? сейчас выводится вот такой 1100000.

$(function(){
$("#price").click(function(){
    var sum=0; // начальное значение можно указать любое
    $('#price :checked').each(function(){
        sum+=parseInt($(this).val());
    });
    $('.catalog-item__price-total span').text(sum + ' руб.');    
});

});

спасибо

Answer 1

(изменил по правке MedvedevDev)

Можно вот так

const a = 1100000; 
console.log(a.toLocaleString('de-DE'));

Answer 2

Более красивый вариант уже есть, но почему бы и нет, может для чего-то ещё пригодится xDD

let newNum = ''; 
const num = 1100000.2345, 
  separate = num.toString().split('.'), 
  numArray = separate[0].split(''), 
  numArrayLength = numArray.length; 
 
for(let i = 0; i < numArrayLength; i++) { 
  newNum += numArray[i] + ((numArrayLength - i - 1) % 3 === 0 && i + 1 !== numArrayLength ? '.' : ''); 
} 
 
if(separate[1]) newNum += ',' + separate[1]; 
 
console.log(newNum);

Answer 3

https://jsfiddle.net/5xL15wgd/

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
    <script type="text/javascript">
        $(function(){
            $(".price").click(function(){
                var sum=0; // начальное значение можно указать любое
                $('.price:checked').each(function(){
                    sum+=parseInt($(this).val());
                });
                sum = (sum).formatMoney(0, '.', '.');
                $('span.catalog-item__price-total').text(sum + ' руб.');
            });
            Number.prototype.formatMoney = function(c, d, t){
                var n = this,
                        c = isNaN(c = Math.abs(c)) ? 2 : c,
                        d = d == undefined ? "." : d,
                        t = t == undefined ? "," : t,
                        s = n < 0 ? "-" : "",
                        i = String(parseInt(n = Math.abs(Number(n) || 0).toFixed(c))),
                        j = (j = i.length) > 3 ? j % 3 : 0;
                return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
            };
        });
    </script>
</head>
<body>
    <label>
        <input type="checkbox" value="550000" class="price">
        550.000
    </label>
    <label>
        <input type="checkbox" value="550000" class="price">
        550.000
    </label>
    <br>
    <span class="catalog-item__price-total"></span>
</body>

</html>
READ ALSO
Низкоуровневый интерфейс

Низкоуровневый интерфейс

Почему данный интерфейс называется низкоуровневым? https://jquery-docsru/category/ajax/low-level-interface/

230
Как исключить css код из js bundle?

Как исключить css код из js bundle?

Мне нужно создать набор React компонентовКаждый компонент содержит свой js и css код, расположенный в отдельной папке

286