Add formatCreditsNumber function for future usage
This commit is contained in:
@@ -654,4 +654,30 @@ export async function fromIdUuid(id_uuid, options={}){
|
||||
return game.macros.filter(i=> i.id == macroId)[0];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* This function will format a number into a more readable string with appropriate suffixes.
|
||||
* For example, 1500 becomes "1.5K", 2000000 becomes "2M", etc.
|
||||
* It handles numbers in the trillions (t), billions (b), millions (m), and thousands (k).
|
||||
* It also handles negative numbers and zero.
|
||||
* At the end it appends 'cr' to denote credits.
|
||||
* @namespace formatCreditsNumber
|
||||
* @param {int} num Credits number to format.
|
||||
* @returns {string} Credits , formatted string with appropriate suffix.
|
||||
*/
|
||||
export function formatCreditsNumber(num) {
|
||||
const absNum = Math.abs(num);
|
||||
|
||||
if (absNum >= 1_000_000_000_000) {
|
||||
return (num / 1_000_000_000_000).toFixed(1).replace(/\.0$/, '') + 'tcr';
|
||||
} else if (absNum >= 1_000_000_000) {
|
||||
return (num / 1_000_000_000).toFixed(1).replace(/\.0$/, '') + 'bcr';
|
||||
} else if (absNum >= 1_000_000) {
|
||||
return (num / 1_000_000).toFixed(1).replace(/\.0$/, '') + 'mcr';
|
||||
} else if (absNum >= 1_000) {
|
||||
return (num / 1_000).toFixed(1).replace(/\.0$/, '') + 'kcr';
|
||||
} else {
|
||||
return num.toString() + 'cr';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user