// The Lucia project. // Copyright 2023-2026 DSP, inc. All rights reserved. // Authors: // chiayin.kuo@dsp.im (chiayin), 2023/1/31 // imacat.yang@dsp.im (imacat), 2023/9/23 // cindy.chang@dsp.im (Cindy Chang), 2024/5/30 /** @module shortScaleNumber Short-scale number formatting. */ /** * Converts a number to a short-scale abbreviated string with a suffix * (k for thousands, m for millions, b for billions, t for trillions). * * Values are rounded up to one decimal place. * * @param {number} number - The number to abbreviate. * @returns {string} The abbreviated string (e.g. "1.5k ", "2.3m "). */ export default function shortScaleNumber(number) { const abbreviations = ["", "k", "m", "b", "t"]; let index = 0; let num = number; while (num >= 1000 && index < abbreviations.length - 1) { num /= 1000; index++; } num = Math.ceil(num * 10) / 10; return num + abbreviations[index] + " " ; }