Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Разделение числа по разрядам (https://javascript.ru/forum/dom-window/58417-razdelenie-chisla-po-razryadam.html)

steepfox 21.09.2015 00:04

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

{ 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

Спасибо заранее за ответ.

Vlasenko Fedor 21.09.2015 00:59

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));

Один из вариантов решения задачи

Decode 21.09.2015 01:05

Еще вариант:
alert( new Intl.NumberFormat('ru').format(25827) );

steepfox 21.09.2015 10:55

Я не силен в 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}

Vlasenko Fedor 21.09.2015 20:27

Цитата:

Сообщение от steepfox
Я не силен в javascript

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

steepfox 22.09.2015 00:01

Спасибо за ответ. Только, когда заменяешь весь мой код на ваш, цена отображается, а валюта нет. Подскажите, пожалуйста, как вклеить этот код: .$row["cost"]." ".$init_currency[$row["currency"]][1]. в ваш.

laimas 22.09.2015 00:44

В SQL запросе сразу форматировать вывод FOMAT(cost, 0) cost, FOMAT(currency, 0) currency

Vlasenko Fedor 22.09.2015 00:54

{$row["cost"]|number_format:2:".":","}{$init_currency[$row["currency"]][1]}

steepfox 22.09.2015 11:32

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

вот этот код: "<span class='no_cost_adv'>цена не указана</span>")

Vlasenko Fedor 22.09.2015 13:14

{if $row["cost"]}
	{$row["cost"]|number_format:2:".":","}{$init_currency[$row["currency"]][1]}
 {else}
	<span class='no_cost_adv'>цена не указана</span>
 {/if}


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