Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /** Extracts the first number formatted by ns.format.number() in a string.
- * @param {string} s String containing a formatted number
- * @returns {number} number */
- function parseFormattedNumber(s) {
- if (typeof s !== "string") {ns.print("WARN: parseFormattedNumber: invalid type for input " + s); return NaN;}
- const [ // Ex.: "Gained $250.000m"
- num, // "250.000m"
- base, // "250.000"
- suffix // "m"
- ] = s.match(/(-?\d+(?:[\.,]\d{1,5})?)(e\d+|[kmbtqQsSon])?/);
- if (!num || !base) {ns.print("WARN: parseFormattedNumber: no valid number found for input " + s); return NaN;}
- const numSuffixList = ["", "k", "m", "b", "t", "q", "Q", "s", "S", "o", "n"];
- let exp = suffix ?? "";
- if (suffix && numSuffixList.includes(suffix)) {
- exp = "e" + (numSuffixList.indexOf(suffix) * 3);
- }
- return parseFloat(base.replace(",",".") + exp);
- }
Advertisement