Instantly share code, notes, and snippets.

# zbee/_wowCur.md Last active Aug 29, 2015

World of Warcraft simple currency formatter

#WoW Currency Formatter When using the battle.net API amounts of currency (like how much money you have, or how much a buyout for an auction item is) are displayed as a simple amount of copper (example: 174056); And that's not human readable.

So, I made a little baby function to format into either g s c or the padded version (adds a 0 in front of silver and copper if it's a single digit).

Hope someone needs this eventually :)

##Examples: `wowCur(174009, false);` = 74g 40s 9c

`wowCur(174009, false, true);` = 74g 40s 09c

`wowCur(174009, "g", true);` = 74g

`wowCur(174009, "s", true);` = 40s

`wowCur(174009, "c", true);` = 09c

`wowCur(14862094667, false, true, true);` = 14,862,094g 46s 67c

`wowCur(14862094667, false, true);` = 14862094g 46s 67c

 function wowCur(amount, type = false, pad = false, nfat = false) { //Currencies var g = Math.floor(amount / 1e4); //Gold var s = Math.floor(amount / 100); //Silver var c = amount; while (c >= 100) { c -= 100; } //Copper //Optional Padding if (pad == true) { p = "00"; g = "" + g; g = p.substring(0, p.length - g.length) + g; s = "" + s; s = p.substring(0, p.length - s.length) + s; c = "" + c; c = p.substring(0, p.length - c.length) + c; } //Optional formatting if (nfat == true) { g = g.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); } //Return formatted result if (type == "g") { return g."g"; } elseif (type == "s") { return s."s"; } elseif (type == "c") { return c."c"; } else { a = g."g ".s."s ".c."c"; return \$a; } }
 = 100) { \$s = (\$s >= 100) ? \$s - 100 : \$s; } //Silver \$c = \$amount; while (\$c >= 100) { \$c -= 100; } //Copper //Optional Padding if (\$pad) { \$g = sprintf("%02s", \$g); \$s = sprintf("%02s", \$s); \$c = sprintf("%02s", \$c); } //Optional formatting if (\$nfat === true) { \$g = number_format(\$g, 0); } //Returning formatted result if (\$type === "g") { return \$g + "g"; } elseif (\$type === "s") { return \$s + "s"; } elseif (\$type === "c") { return \$c + "c"; } else { \$a = \$g."g ".\$s."s ".\$c."c"; return \$a; } }