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?
相关问题
- CALayer - backgroundColor flipped?
- Core Data lightweight migration crashes after App
- Core Data lightweight migration crashes after App
- How can I implement password recovery in an iPhone
- back button text does not change
相关文章
- 现在使用swift开发ios应用好还是swift?
- Could I create “Call” button in HTML 5 IPhone appl
- TCC __TCCAccessRequest_block_invoke
- xcode 4 garbage collection removed?
- Xcode: Is there a way to change line spacing (UI L
- Unable to process app at this time due to a genera
- How can I add media attachments to my push notific
- How do you detect key up / key down events from a
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
andmaximumSignificantDigits
have no effect unlessusesSignificantDigits
is set toYES
. 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
, andc = 0.00123
:Assuming
minimumSignificantDigits = 0
,1
or2
:If
maximumSignificantDigits = 3
, thena
will be formatted as "123",b
as "1.23", andc
as "0.00123".If
maximumSignificantDigits = 4
, thena
will be formatted as "123.5",b
as "1.23" andc
as "0.00123".If
maximumSignificantDigits = 2
, thena
will be formatted as "120",b
as "1.2" andc
as "0.0012".Assuming
minimumSignificantDigits = 4
:If
maximumSignificantDigits = 4
, thena
will be formatted as "123.5",b
as "1.230", andc
as "0.001230".Note: The 4 → 5 conversions occur due to the round-to-nearest mode, as the digit following the 4 in a is 5.
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.