Форум программистов, компьютерный форум, киберфорум
JavaScript: RegExp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/47: Рейтинг темы: голосов - 47, средняя оценка - 4.64
 Аватар для helsik
12 / 12 / 3
Регистрация: 09.12.2013
Сообщений: 142

Разделитель пробел если сумма в тысячах

26.01.2017, 00:11. Показов 9021. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, у меня на сайте есть элемент с id - tt_total там считается общая сумма, и выводится она например как 10000, а нужно чтобы был пробел в тысячах и было так - 10 000 , ниже функция где это все считается, почитав в инете форумы и книги нашел что возможно поможет добавление строки
JavaScript
1
обьект.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');
но как я не пробовал ее туда добавить не помогает..
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
  if ((op_show_only_total != null) && (op_show_only_total == true))
    {
         stru = document.getElementById('tt_total_txt')
         if (stru != null)
         str = srtu.innerHTML;
         else str = ''; 
         if (str == '')
         {
         d1 = document.getElementById('tt_total_txt'); 
         if (d1 != null)
         d1.innerHTML = op_textinclship;
         }
         if ((op_custom_tax_rate != null) && (op_add_tax != null) && (op_custom_tax_rate != '') && (op_add_tax == true))
         {
          d1 = document.getElementById('tt_total'); 
          if (d1 != null)
          d1.innerHTML = Onepage.formatCurrency((1+parseFloat(op_custom_tax_rate))*parseFloat(order_total));
          /*d1.innerHTML = d1.innerHTML.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');*/ возможно полный бред, но пытался как мог.. 
         }
         else
         {
         d1 = document.getElementById('tt_total'); 
         if (d1 != null)
         d1.innerHTML = Onepage.formatCurrency(order_total);
         /*d1.innerHTML = d1.innerHTML.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');*/ возможно полный бред, но пытался как мог..
         }
         
         d1 = document.getElementById('tt_order_payment_discount_before_div'); 
         if (d1 != null)
         d1.style.display = "none";
         d1 = document.getElementById('tt_order_discount_before_div'); 
         if (d1 != null) d1.style.display = "none"; 
         d1 = document.getElementById('tt_order_subtotal_div'); 
         if (d1 != null) d1.style.display = 'none';
         d1 = document.getElementById('tt_shipping_rate_div'); 
         if (d1 != null) d1.style.display = 'none';
         d1 = document.getElementById('tt_shipping_tax_div'); 
         if (d1 != null) d1.style.display = 'none';
         return true;
    }
Добавлено через 1 час 26 минут
попробовал еще так -
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 var ddd;
         
         if ((op_custom_tax_rate != null) && (op_add_tax != null) && (op_custom_tax_rate != '') && (op_add_tax == true))
         {
          d1 = document.getElementById('tt_total'); 
          if (d1 != null)
          ddd = Onepage.formatCurrency((1+parseFloat(op_custom_tax_rate))*parseFloat(order_total));
          d1.innerHTML = ddd.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');       
         }
         else
         {
         d1 = document.getElementById('tt_total'); 
         if (d1 != null)
         ddd = Onepage.formatCurrency(order_total);
         d1.innerHTML = ddd.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');       
         }
но не работает.. вот весь файл https://yadi.sk/d/QJWGfJRu3Au9ug

Добавлено через 55 минут
кто поможет скину бакс на вебмани.. понимаю что не много, но все же пусть будет бонусом..
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.01.2017, 00:11
Ответы с готовыми решениями:

Ввести строку из нескольких слов. Разделитель слов пробел. Удалить лишние пробелы, оставив только один пробел между словами
Ввести строку из нескольких слов. Разделитель слов пробел. Удалить лишние пробелы, оставив только один пробел между словами.

Функция strtok() не воспринимает пробел как разделитель
Функция успешно разделяют строку на лексемы из массива символов stri, но при вводе строки с клавиатуры, "пробел" между словами...

Вставить пробел в строку после каждого символа «.» «,» «!» или «?», если за этими символами не следует пробел
Вставить пробел после каждого символа «.» «,» «!» или «?», если за этими символами не следует пробел (т. е. следует любой символ, ...

3
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
26.01.2017, 10:51
Ваш код должен работать.
http://codepen.io/anon/pen/WRZwVr
HTML5
1
<span id="tt_total">87654321</span>
JavaScript
1
2
d1 = document.getElementById('tt_total'); 
d1.innerHTML = d1.innerHTML.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');
Консоль сообщает о каких-нибудь ошибках?
0
 Аватар для helsik
12 / 12 / 3
Регистрация: 09.12.2013
Сообщений: 142
26.01.2017, 20:15  [ТС]
Цитата Сообщение от Balanaar Посмотреть сообщение
Консоль сообщает о каких-нибудь ошибках?
связанных с модулем только одно сообщение "OPC: JQuery would be nice" на строку 52 (в файле скрипта https://yadi.sk/d/QJWGfJRu3Au9ug ), в этом месте там код:
JavaScript
1
2
3
4
5
6
7
8
  if (typeof callBeforeAjax != 'undefined')
       if (callBeforeAjax != null && callBeforeAjax.length > 0)
   {
   for (var x=0; x<callBeforeAjax.length; x++)
       {
         eval(callBeforeAjax[x]);
       }
   }
но походу это не ошибка, еще есть 14 ошибок:
"ReferenceError: jQuery is not defined"
и одна:
"Error: Bootstrap's JavaScript requires jQuery"
но на работу они не влияют.. хотя походу прийдется с ними разобраться, но возможно "ReferenceError: jQuery is not defined" у меня из-за того что на хостинге подключен pagespeed..

Добавлено через 3 часа 7 минут
вопрос решен

JavaScript
1
2
var ddd = Onepage.formatCurrency(order_total);
d1.innerHTML = ddd.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');
всем спс за участие, с решением подсказали на другом форуме.
0
26.01.2017, 20:33

Не по теме:

Цитата Сообщение от helsik Посмотреть сообщение
с решением подсказали на другом форуме
А можно было в соседнюю тему заглянуть...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.01.2017, 20:33
Помогаю со студенческими работами здесь

Вывод данных из нескольких строк таблицы в одну строку через разделитель (пробел, запятую)
Добрый день! Есть табличка с адресами: addr ul1 ul2 dom вул. 1 Травня вул. 1 Травня 1 вул. 1...

Разделить строку на части, если разделитель - строка
Здравствуйте. Как разделить строку на отдельные части, если разделитель - строка. Разделитель:/*/ Строка: ABC/*/123/*/a*3/4 ...

Считывание матрицы из текстового файла, если разделитель - запятая
Здравствуйте! Есть задание: построить графики двух кривых, взяв при этом координаты точек из текстового файла. Программа работает, если...

Как разделить строку на подстроки, если известен разделитель
Есть ли функция которая разделяет строку, как Explode(php) Сама строка хранит в себе примерно такой код Str+code+Str+code+Str, Str -...

Excel: разбиение текста ячейки на несколько, если разделитель - цифры
Собственно вопрос в следующем: имеется ячейка с таким, примерно, текстом &quot;1. ххх. 2. ууу. 3. zzz. ... 15. aaa&quot;. Мне требуется...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru