Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Пробел после 3 символов (https://javascript.ru/forum/project/78883-probel-posle-3-simvolov.html)

ajaxst 18.11.2019 02:10

Пробел после 3 символов
 
Наверное уже к ночи голова не работает, кто подскажет как реализовать в поле формат что бы разделялось пробелом в конце было 2 нуля (копейки)

<!DOCTYPE html>
<html>
<head>
        <script>
function numberWithCommas(x) {
    return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
    var words = document.getElementByClassName("3words").innerText;
    var num = (words).toFixed(2);
    num = format(num);
    document.getElementByClassName("3words").innerHTML = num
        </script>
    </head>

<body>
<div class="3words">123123</div>

</body>

</html>


Результат должен быть таким: 123 123.00

laimas 18.11.2019 03:15

<div class="3words">123123</div>

<script>
function numberWithCommas(n) {
    return n.toString().replace(/\B(?=(?:\d{3})+(?!\d))/g, ' ')
}

var words = document.getElementsByClassName("3words")[0];
    words.textContent = numberWithCommas(words.textContent) + '.00';
</script>


А чтобы этот код размещенный в head страницы работал, нужно запускать его после загрузки документа:

document.addEventListener("DOMContentLoaded", function() {
    var words = document.getElementsByClassName("3words")[0];
    words.textContent = numberWithCommas(words.textContent) + '.00';
});


PS. И не давайте имена классам начинающиеся с цифры.

рони 18.11.2019 09:30

разделение целой части числа на 3 js
 
ajaxst,
<!DOCTYPE html>
<html>
<head>
        <script>
function numberWithCommas(str) {
    return (+str).toFixed(2).replace(/(\d+)(\.\d+)?/g, function (c, b, a) {
    return b.replace(/(\d)(?=(\d{3})+$)/g, "$1 ") + a
});
}
document.addEventListener("DOMContentLoaded", function() {
    document.querySelectorAll(".threewords").forEach(
    function(elem) {
      elem.textContent = numberWithCommas(elem.textContent);
    })

});
        </script>
    </head>

<body>
<div class="threewords">123123</div>
<div class="threewords">9000.99</div>
</body>

</html>

ajaxst 18.11.2019 12:28

Спасибо большое, очень помогли


Часовой пояс GMT +3, время: 13:13.