mirror of
https://github.com/tobspr/shapez.io.git
synced 2024-10-27 20:34:29 +00:00
Make formatBigNumber() include a decimal point, and support numbers up to 999.9T.
This commit is contained in:
parent
576bd3166f
commit
a92d703395
@ -24,9 +24,7 @@ export const BOTTOM = new Vector(0, 1);
|
||||
export const LEFT = new Vector(-1, 0);
|
||||
export const ALL_DIRECTIONS = [TOP, RIGHT, BOTTOM, LEFT];
|
||||
|
||||
export const thousand = 1000;
|
||||
export const million = 1000 * 1000;
|
||||
export const billion = 1000 * 1000 * 1000;
|
||||
const bigNumberSuffixes = ["k", "M", "B", "T"];
|
||||
|
||||
/**
|
||||
* Returns the build id
|
||||
@ -435,21 +433,21 @@ export function formatBigNumber(num, divider = ".") {
|
||||
|
||||
if (num < 1000) {
|
||||
return sign + "" + num;
|
||||
} else {
|
||||
let leadingDigits = num;
|
||||
let suffix = "";
|
||||
for (let suffixIndex = 0; suffixIndex < bigNumberSuffixes.length; ++suffixIndex) {
|
||||
leadingDigits = leadingDigits / 1000;
|
||||
suffix = bigNumberSuffixes[suffixIndex];
|
||||
if (leadingDigits < 1000) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
// round down to nearest 0.1
|
||||
const leadingDigitsRounded = Math_floor(leadingDigits * 10) / 10;
|
||||
const leadingDigitsNoTrailingDecimal = leadingDigitsRounded.toString().replace(".0", "");
|
||||
return sign + leadingDigitsNoTrailingDecimal + suffix;
|
||||
}
|
||||
if (num > 10000) {
|
||||
return Math_floor(num / 1000.0) + "k";
|
||||
}
|
||||
|
||||
let rest = num;
|
||||
let out = "";
|
||||
|
||||
while (rest >= 1000) {
|
||||
out = (rest % 1000).toString().padStart(3, "0") + (out !== "" ? divider : "") + out;
|
||||
rest = Math_floor(rest / 1000);
|
||||
}
|
||||
|
||||
out = rest + divider + out;
|
||||
return sign + out;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -913,5 +911,5 @@ export function formatItemsPerSecond(speed, double = false) {
|
||||
return speed === 1.0
|
||||
? T.ingame.buildingPlacement.infoTexts.oneItemPerSecond
|
||||
: T.ingame.buildingPlacement.infoTexts.itemsPerSecond.replace("<x>", "" + round2Digits(speed)) +
|
||||
(double ? " " + T.ingame.buildingPlacement.infoTexts.itemsPerSecondDouble : "");
|
||||
(double ? " " + T.ingame.buildingPlacement.infoTexts.itemsPerSecondDouble : "");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user