Страницы

Поиск по вопросам

среда, 26 февраля 2020 г.

Нужно сделать функцию, превращающую обычные цифры в укороченную запись с “k” вместо нулей. javascript

#javascript


Не могу понять как это сделать функцию. Например чтобы она работала так - 

order(10100) //"10.1k"
order(1217114) //"1.2kk"
order(10765454) //"10.7kk"


Получилось сделать что-то подобное, но с расстановкой точек - dots(10100) возвращает
- 10.100

function dots(string) {
    if(typeof string !== "string") string = string.toString();
    return string.split("").reverse().join("").match(/[0-9]{1,3}/g).join(".").split("").reverse().join("");
};


Прошу помощи :)
    


Ответы

Ответ 1



Для обрезки дробной части есть специальная функция Number.toFixed, остальное достигается делением в цикле: console.log(order(4954373572)) console.log(order(418998628)) console.log(order(1158897094)) function order(n) { for (var k = ''; n>1e3; n /= 1e3, k += 'k'); return Math.floor(n*10)/10 + k; }

Комментариев нет:

Отправить комментарий