[Mono-devel-list] Comments for NumberFormatter
Andreas Nahr
ClassDevelopment at A-SoftTech.com
Sat Feb 26 17:13:35 EST 2005
Hi,
I checked through the new NumberFormatter Class and found a few points that
could perhaps be improved:
* The internal class Numberstore contains things like that at several
places:
if (v >= 1000000000000000000)
i = 18;
else if (v >= 100000000000000000)
i = 17;
else if (v >= 10000000000000000)
i = 16;
...
I Think it would make sense to revert the order here because a) in real
world small numbers are more common than large ones. This code is called
from other functions which deliver e.g. an byte, which surely never can get
this big.
* NumberFormatter contains several private classes. Some (all?) could likely
be converted to structs which should help improve performance and reduce
memory usage.
* There are several places were Strings are used but Chars could be used
instead (like " ")
* The following line in FormatExponential is really hard to read and should
be refactored:
return string.Concat ("0", precision > 0 ? "." + new string ('0', precision)
: "", upper ? "E" : "e", nfi.PositiveSign, "000");
More information about the Mono-devel-list
mailing list