Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.12.2024, 17:22
Интересующийся
Отправить личное сообщение для ajaxst Посмотреть профиль Найти все сообщения от ajaxst
 
Регистрация: 20.07.2018
Сообщений: 23

Формат для поля с ценой
Добрый день, не могли бы вы помочь с довольно таки простым на первый взгляд вопросом, преобразование цифрового значения в денежный с пробелом. Например у меня есть поле
<span class="price__new-val font_17">8500</span>

Выводиться оно как 8500
Можно ли как то сделать так что бы оно выводилось в так:
8 500 руб. (то есть тысячные отделены пробелом

Последний раз редактировалось ajaxst, 16.12.2024 в 17:32.
Ответить с цитированием
  #2 (permalink)  
Старый 16.12.2024, 17:31
Интересующийся
Отправить личное сообщение для ajaxst Посмотреть профиль Найти все сообщения от ajaxst
 
Регистрация: 20.07.2018
Сообщений: 23

Использовал такой способ
<div class="price__new-val">1000000</div>


<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
        <script>
$(document).ready(function() { 
var number = $('.price__new-val').text(); 
var formattedNumber = Number(number).toLocaleString(); 
$('.price__new-val').text(formattedNumber); });

        </script>


Здесь скорее всего надо наверное преобразование значение к числовому и уже после придавать формат
Ответить с цитированием
  #3 (permalink)  
Старый 16.12.2024, 19:08
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от ajaxst
преобразование цифрового значения в денежный с пробелом
Например вот так можно...

<div class="price__new-val">1000000</div>

<script>
document.querySelectorAll('.price__new-val').forEach(o => {
  o.textContent = o.textContent.replace(/\d(?=(\d{3})+$)/g, '$& ');
});
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 16.12.2024, 20:02
Интересующийся
Отправить личное сообщение для ajaxst Посмотреть профиль Найти все сообщения от ajaxst
 
Регистрация: 20.07.2018
Сообщений: 23

Что бы добавить префикс руб. использовал этот код:
<script>
var targetElement = document.querySelector('.price__new-val') ;
targetElement.insertAdjacentHTML("beforeEnd", " руб.");
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 16.12.2024, 20:04
Интересующийся
Отправить личное сообщение для ajaxst Посмотреть профиль Найти все сообщения от ajaxst
 
Регистрация: 20.07.2018
Сообщений: 23

Да он работает на дестопе, но почему то когда закидываю его на релиз в Битрикс, он не работает.
Ответить с цитированием
  #6 (permalink)  
Старый 17.12.2024, 09:20
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от ksa
o.textContent = o.textContent.replace(/\d(?=(\d{3})+$)/g, '$& ');
Просто добавить

o.textContent = o.textContent.replace(/\d(?=(\d{3})+$)/g, '$& ') + ' руб';
Ответить с цитированием
  #7 (permalink)  
Старый 18.12.2024, 19:00
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,796

А почему не воспользоваться форматтером Intl.NumberFormat?
<div class="price__new-val">1000000</div>

<script>
document.querySelectorAll('.price__new-val').forEach(node => {
    node.textContent = (+node.textContent).toLocaleString('ru', {
        style: 'currency', 
        currency: 'RUB', 
        minimumFractionDigits: 0,
        currencyDisplay: 'narrowSymbol',
    });
});
</script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать пункты с галочками для браузера на основе множеств? trambalimpum Элементы интерфейса 1 29.04.2023 23:23
Пишу скрипты для BAS только на запросах zt_script Работа 0 26.01.2023 19:53
Не показывает нужный формат даты для минут atroxig Общие вопросы Javascript 0 09.09.2015 15:47
HTA-приложение для радио Pianorama Magneto Ваши сайты и скрипты 42 22.01.2012 08:34