Question

There's no text in the documentation about what that means, but it sounds very important to understand in order to not run into trouble. Does someone know what that is all about the "significant digits" of a number?

Was it helpful?

Solution

See here for a nice tutorial on significant digits. Very simple explanation would be: the number of digits that are used for calculations within your app.

OTHER TIPS

Although the other answer on this question links to a correct explanation of the concept of significant digits in general, NSNumberFormatter's {uses|minimum|maximum}SignificantDigits properties have nothing to do with precision of calculations.

The significant digits are the group of digits in a number from the first nonzero digit to the last nonzero digit, inclusive, usually unless trailing zeroes are fractional. Restricting output to a specific number of significant digits is useful if a relative (percentage) error is known or desired.

First of all, the minimumSignificantDigits and maximumSignificantDigits have no effect unless usesSignificantDigits is set to YES. If this is the case, their effect is probably most easily explained using examples.

Let's take the numbers a = 123.4567, b = 1.23, and c = 0.00123:

Assuming minimumSignificantDigits = 0, 1 or 2:

If maximumSignificantDigits = 3, then a will be formatted as "123", b as "1.23", and c as "0.00123".

If maximumSignificantDigits = 4, then a will be formatted as "123​.5", b as "1.23" and c as "0.00123".

If maximumSignificantDigits = 2, then a will be formatted as "12​0", b as "1.2" and c as "0.0012".

Assuming minimumSignificantDigits = 4:

If maximumSignificantDigits = 4, then a will be formatted as "123.​5", b as "1.23​0", and c as "0.00123​0".

Note: The 45 conversions occur due to the round-to-nearest mode, as the digit following the 4 in a is 5.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top