Qu'est-ce que décrit NSNumberFormatter -maximumSignificantDigits?
-
19-09-2019 - |
Question
Il n'y a pas de texte dans la documentation sur ce que cela signifie, mais il semble très important de comprendre afin de ne pas avoir des ennuis. Est-ce que quelqu'un sait ce qui est tout au sujet des « chiffres significatifs » d'un certain nombre?
Autres conseils
Bien que l'autre réponse sur ce lien question à une explication correcte du concept de chiffres significatifs dans les propriétés générales, NSNumberFormatter
de {uses|minimum|maximum}SignificantDigits
ont rien à voir avec la précision des calculs.
Les chiffres significatifs sont le groupe de chiffres dans un numéro du premier chiffre non nul au dernier chiffre différent de zéro, y compris, généralement à moins de zéros de fin sont fraction . La restriction de sortie à un certain nombre de chiffres significatifs est utile si un relative (en pourcentage) d'erreur est connue ou souhaitée.
Tout d'abord, le minimumSignificantDigits
et maximumSignificantDigits
n'a pas d'effet à moins usesSignificantDigits
est réglé sur YES
. Si tel est le cas, leur effet est probablement le plus facile à expliquer à l'aide d'exemples.
Prenons le nombre a = 123.4567
, b = 1.23
et c = 0.00123
:
En supposant minimumSignificantDigits = 0
, 1
ou 2
:
Si maximumSignificantDigits = 3
, puis a
sera formaté comme "123", b
comme "1.23", et c
comme "0,00123".
Si maximumSignificantDigits = 4
, puis a
sera formaté comme "123 0,5 ", b
comme "1.23" et c
comme "0,00123".
Si maximumSignificantDigits = 2
, puis a
sera formaté comme "12 0 ", b
comme "1.2" et c
comme "0,0012".
En supposant minimumSignificantDigits = 4
:
Si maximumSignificantDigits = 4
, puis a
sera formaté comme "123. 5 ", b
comme "1,23 0 ", et c
comme « 0,00123 0 ».
Remarque: 4 → 5 conversions se produisent en raison de la tour à la plus proche en mode, comme le chiffre suivant 4 dans un 5. est