summaryrefslogtreecommitdiff
path: root/tikzit/src/common/util.h
diff options
context:
space:
mode:
authorAlex Merry <dev@randomguy3.me.uk>2013-08-27 15:25:26 +0100
committerAlex Merry <dev@randomguy3.me.uk>2013-08-27 15:25:26 +0100
commitad6c6441f4482e12722ae17283dd7a470e3fdcde (patch)
tree81fcf3677139906df6c9932a143d972f01713906 /tikzit/src/common/util.h
parentea86afc07d645c1ba79800fed7c005d444d60f80 (diff)
Make sure we never output numbers in scientific notation
Converting NSNumber to a string raises the possibility of outputing a number like 2.2e-8, as it essentially uses the %g format specifier. This then cannot be parsed. Since there is no built-in specifier for outputing floats with variable precision (ie: removing any trailing zeros), I cooked up a function to do just that. Currently set the maximum precision at 4dp (our normal grid layout only makes use of 2dp).
Diffstat (limited to 'tikzit/src/common/util.h')
-rw-r--r--tikzit/src/common/util.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/tikzit/src/common/util.h b/tikzit/src/common/util.h
index f527820..b34f25d 100644
--- a/tikzit/src/common/util.h
+++ b/tikzit/src/common/util.h
@@ -191,4 +191,11 @@ NSString *alphaHex(unsigned short sh);
const char *find_start_of_nth_line (const char * string, int line);
-// vi:ft=objc:noet:ts=4:sts=4:sw=4
+/*!
+ @brief Formats a CGFloat as a string, removing trailing zeros
+ @detail Unlike formatting an NSNumber, or using %g, it will never
+ produce scientific notation (like "2.00e2"). Unlike %f,
+ it will not include unnecessary trailing zeros.
+ */
+NSString *formatFloat(CGFloat f, int maxdps);
+