Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.09.2015, 00:04
Аспирант
Отправить личное сообщение для steepfox Посмотреть профиль Найти все сообщения от steepfox
 
Регистрация: 24.02.2011
Сообщений: 66

Разделение числа по разрядам
Здравствуйте, есть такой код:

{ if $obj_doska->get_use_cost_from_infercategory($row["n_category"]) }
       <div class='block_putdata_advert_synopsis'> {($row["cost"] ? "<span class='value_cost_adv'>".$row["cost"]." ".$init_currency[$row["currency"]][1]."</span>" : "<span class='no_cost_adv'>цена не указана</span>")}</div>
       {/if}


На данный момент цена выводится в таком виде: 25827
Необходимо сделать разделение: 25 827

Спасибо заранее за ответ.
Ответить с цитированием
  #2 (permalink)  
Старый 21.09.2015, 00:59
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

function addSpace(num) {
    var parts = (num + "").split("."),
        main = parts[0],
        len = main.length,
        output = "",
        i = len - 1;

    while (i >= 0) {
        output = main.charAt(i) + output;
        if ((len - i) % 3 === 0 && i > 0) {
            output = " " + output;
        }
        --i;
    }
    if (parts.length > 1) {
        output += "." + parts[1];
    }
    return output;
}
alert(addSpace(25827));

Один из вариантов решения задачи
Ответить с цитированием
  #3 (permalink)  
Старый 21.09.2015, 01:05
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

Еще вариант:
alert( new Intl.NumberFormat('ru').format(25827) );
Ответить с цитированием
  #4 (permalink)  
Старый 21.09.2015, 10:55
Аспирант
Отправить личное сообщение для steepfox Посмотреть профиль Найти все сообщения от steepfox
 
Регистрация: 24.02.2011
Сообщений: 66

Я не силен в javascript) Подскажи, как подключить эту функцию к этому коду:

{ if $obj_doska->get_use_cost_from_infercategory($row["n_category"]) }
       <div class='block_putdata_advert_synopsis'> {($row["cost"] ? "<span class='value_cost_adv'>".$row["cost"]." ".$init_currency[$row["currency"]][1]."</span>" : "<span class='no_cost_adv'>цена не указана</span>")}</div>
       {/if}
Ответить с цитированием
  #5 (permalink)  
Старый 21.09.2015, 20:27
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Сообщение от steepfox
Я не силен в javascript
надо было написать , что в рнр давно дали бы правильный ответ
js здесь лишний http://php.net/manual/ru/function.number-format.php
Да, а тут еще шаблонизатор похож на Smarty
{$row["cost"]|number_format:2:".":","}

Последний раз редактировалось Vlasenko Fedor, 21.09.2015 в 23:12.
Ответить с цитированием
  #6 (permalink)  
Старый 22.09.2015, 00:01
Аспирант
Отправить личное сообщение для steepfox Посмотреть профиль Найти все сообщения от steepfox
 
Регистрация: 24.02.2011
Сообщений: 66

Спасибо за ответ. Только, когда заменяешь весь мой код на ваш, цена отображается, а валюта нет. Подскажите, пожалуйста, как вклеить этот код: .$row["cost"]." ".$init_currency[$row["currency"]][1]. в ваш.
Ответить с цитированием
  #7 (permalink)  
Старый 22.09.2015, 00:44
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

В SQL запросе сразу форматировать вывод FOMAT(cost, 0) cost, FOMAT(currency, 0) currency
Ответить с цитированием
  #8 (permalink)  
Старый 22.09.2015, 00:54
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

{$row["cost"]|number_format:2:".":","}{$init_currency[$row["currency"]][1]}
Ответить с цитированием
  #9 (permalink)  
Старый 22.09.2015, 11:32
Аспирант
Отправить личное сообщение для steepfox Посмотреть профиль Найти все сообщения от steepfox
 
Регистрация: 24.02.2011
Сообщений: 66

И последний вопрос, как добавить в эту строку {$row["cost"]|number_format:2:".":","}{$init_currency[$row["currency"]][1]}

вот этот код: "<span class='no_cost_adv'>цена не указана</span>")
Ответить с цитированием
  #10 (permalink)  
Старый 22.09.2015, 13:14
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

{if $row["cost"]}
	{$row["cost"]|number_format:2:".":","}{$init_currency[$row["currency"]][1]}
 {else}
	<span class='no_cost_adv'>цена не указана</span>
 {/if}
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разделение разрядов числа пробелами. Kolyaj Ваши сайты и скрипты 17 12.03.2020 15:57
JS задача. Взаимно простые числа sashok Общие вопросы Javascript 5 23.11.2014 10:16
Разделение разрядов числа с помощью AJAX VolodinAS AJAX и COMET 7 08.11.2013 18:34
разделение числа на разряды Sober_exe Ваши сайты и скрипты 12 08.02.2013 14:01
Разделить числа по разрядам junker Общие вопросы Javascript 3 15.04.2012 22:54