Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for [old] Friendly Number by Moff
function friendlyNumber(number, options) {
options = options || {};
options.base = options.base || 1000;
options.decimals = options.decimals || 0;
options.suffix = options.suffix || '';
options.powers = options.powers || ['', 'k', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y'];
let pw = 0;
let sign = number < 0 ? '-' : '';
let n = Math.abs(number);
while (pw < options.powers.length - 1 && n >= options.base) {
if (options.decimals) {
n /= options.base;
} else {
n = Math.floor(n / options.base);
}
pw += 1;
}
if (options.decimals) {
let e = Math.pow(10, options.decimals);
n = Math.round(n * e) / e;
n = n.toFixed(options.decimals);
}
return `${sign}${n}${options.powers[pw]}${options.suffix}`;
}
July 29, 2017
Comments: