Jump to content

[SNIPPET] Formatting numbers into the runescape format (eg 1000 -> 1k, 2311022 -> 2.3m etc)


Recommended Posts

Posted
	public static String runescapeFormat(Integer number) {
		String[] suffix = new String[] { "K", "M", "B", "T" };
		int size = (number.intValue() != 0) ? (int) Math.log10(number) : 0;
		if (size >= 3) {
			while (size % 3 != 0) {
				size = size - 1;
			}
		}
		return (size >= 3) ? +(Math.round((number / Math.pow(10, size)) * 10) / 10d)
				+ suffix[(size / 3) - 1]
				: +number + "";
	}

Found the base of the method offsite somewhere (ages ago, can't remember where). I updated it a bit.

 

apa

  • Like 1
Posted (edited)
	public static String runescapeFormat(Integer number) {
		String[] suffix = new String[] { "K", "M", "B", "T" };
		int size = (number.intValue() != 0) ? (int) Math.log10(number) : 0;
		if (size >= 3) {
			while (size % 3 != 0) {
				size = size - 1;
			}
		}
		return (size >= 3) ? +(Math.round((number / Math.pow(10, size)) * 10) / 10d)
				+ suffix[(size / 3) - 1]
				: +number + "";
	}

Found the base of the method offsite somewhere (ages ago, can't remember where). I updated it a bit.

 

apa

 

 

 

Uhhh, why is there a "T" in the suffix?

Last I knew we were using 32 bit numbers, so max stack size was 2,147,483,647  (2.147 B )

 

Just seems pointless to me, but not like it really matters. tongue.png

Edited by Mysteryy

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...