Красивое отображение цены

Тема в разделе "JavaScript", создана пользователем monah, 4 фев 2018.

Модераторы: ZiX
  1. monah

    monah

    Регистр.:
    21 мар 2009
    Сообщения:
    169
    Симпатии:
    47
    Всем добрый день!
    Передали на администрирование сайт, попросили чтобы красиво цены отображались, опыта js нету, поэтому тут и пишу
    вот код отвечающий за вывод цены
    Код:
    e.displayPrice = function(e) {
            var t = Math.round(e);
            return t <= 999 ? t : t >= 1e3 && t <= 9999 ? t.toString().slice(0, 1) + " " + t.toString().slice(1) : t.toString().slice(0, 2) + " " + t.toString().slice(2)
        },
    
    все красиво отображает, только если цена до 99 999, т.е. 5 654, 16 156 красиво отделяет сотые, но если цена больше 100 000, тогда отображается 12 4564, а надо 124 564, подскажите как сделать?
     
  2. proovit09

    proovit09 Постоялец

    Регистр.:
    25 июн 2015
    Сообщения:
    86
    Симпатии:
    158
    Попробуйте это

    Код:
    e.displayPrice = function(e) {
            var t = Math.round(e);
    return (t).toLocaleString('ru')
        },
     
  3. sol_los

    sol_los

    Регистр.:
    17 окт 2011
    Сообщения:
    338
    Симпатии:
    184
    умножить на сто, отсечь нули и разделить на сто с Math.round
     
  4. Sorcus

    Sorcus Sorcus. A New Beginning.

    Moderator
    Регистр.:
    10 июл 2011
    Сообщения:
    402
    Симпатии:
    755
    monah, mdss, Цуиьфыеук и 2 другим нравится это.