HenryEx

parseFormattedNumber

May 18th, 2026
12,386
0
Never
4
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /** Extracts the first number formatted by ns.format.number() in a string.
  2.  * @param {string} s String containing a formatted number
  3.  * @returns {number} number */
  4. function parseFormattedNumber(s) {
  5.     if (typeof s !== "string") {ns.print("WARN: parseFormattedNumber: invalid type for input " + s); return NaN;}
  6.     const [  // Ex.: "Gained $250.000m"
  7.         num,   // "250.000m"
  8.         base,  // "250.000"
  9.         suffix // "m"
  10.     ] = s.match(/(-?\d+(?:[\.,]\d{1,5})?)(e\d+|[kmbtqQsSon])?/);
  11.  
  12.     if (!num || !base) {ns.print("WARN: parseFormattedNumber: no valid number found for input " + s); return NaN;}
  13.    
  14.     const numSuffixList = ["", "k", "m", "b", "t", "q", "Q", "s", "S", "o", "n"];
  15.     let exp = suffix ?? "";
  16.     if (suffix && numSuffixList.includes(suffix)) {
  17.         exp = "e" + (numSuffixList.indexOf(suffix) * 3);
  18.     }
  19.     return parseFloat(base.replace(",",".") + exp);
  20. }
Advertisement
Comments
  • User was banned
  • User was banned
  • User was banned
  • User was banned
Add Comment
Please, Sign In to add comment