NS BASIC Tech Note April 3, 1997
41 How to format numbers
-----------------------------------------------------------------
FormattedNumberStr(number, formatString)
Returns a formatted string representation of a real number.
number A number.
formatString A string specifying how the number should be formatted.
The formatString specifies how the number should be formatted; that is,
whether to use decimal or exponential notation and how many places to
include after the decimal point. It accepts the following format
specifiers:
%f Use decimal notation (such as "123,456.789000").
%e Use exponential notation (such as "1.234568e+05").
%E Use exponential notation (such as "1.234568E+05").
You can also specify a period followed by a number after the % symbol to
indicate how many places to show following the decimal point. ("%.3f"
yields "123,456.789" for example.)
Note: FormattedNumberStr uses the current values of
GetLocale().numberFormat to get the separator and decimal characters and
settings. The example strings above are for the US English locale.
Large numbers: FormattedNumberStr does not work properly for numbers
larger than 1.0e24. If the number is very large the function can cause
the Newton device to hang.
Small numbers or long numbers: If more than 15 characters of output would
be generated, for example because you are using %f with large number or a
large number of digits following the decimal, FormattedNumberStr has
undefined results, and can cause the Newton device to hang.
Rounding: FormattedNumberStr does not guarantee which direction it will
round. In the Newton 2.0 OS, it rounds half cases down rather than up or
to an even digit. If you need a precisely rounded number you should use
the math functions Ceiling, Floor, NearbyInt, or Round with suitable math.
Trailing decimals