- Home /
Disable Scientific Notation in Unity?
Hi. I'm working on a game and I'm really hoping to be able to display numbers in the GUI that are greater than 8 digits without having the numbers change to scientific notation. I realize that it's generally a bad idea to work with such large numbers, but it's sort of integral to the game to make them go that high.
While I have little trouble reading 3.4353E+09, I feel that a large number of players will fail to understand that, and it doesn't exactly look that nice either. I've done quite a bit of searching around here for an answer and have come up blank. Any help is greatly appreciated. Thanks!
Answer by rutter · May 28, 2014 at 01:08 AM
I'll refer you to the standard numeric format strings.
By default, a float's ToString()
uses format "G", which returns "The most compact of either fixed-point or scientific notation."
Sounds like you want something more like this:
float f = 987654321f;
string s = f.ToString("n0");
GUILayout.Label(s);
Read up on the formatting options and play around until you find something you like.
Thanks! I feel silly for it being something so simple. Works great!
Answer by PouletFrit · May 28, 2014 at 01:11 AM
Just force the display format with ToString()
Just place # and 0 between " in ToString()
Each 0 will show the number or 0 if none at that position, and # will only show the number if there is one at that position. But take a look at the link everything is well explained.
Your answer
Follow this Question
Related Questions
Can someone help me fix my Javascript for Flickering Light? 6 Answers
Using Very Large Numbers and Prefixes // For an Idle Game e100,e1000, and more. 3 Answers
Setting Scroll View Width GUILayout 1 Answer
Putting numbers on the end of variables via scripting 1 Answer
Unity animation no longer works for large numbers of objects 0 Answers