NSNumberFormatter -maximumSignificantDigits とは何ですか?
-
19-09-2019 - |
質問
それが何を意味するかについてはドキュメントに記載されていませんが、問題が発生しないように理解することは非常に重要だと思われます。数字の「有効数字」について知っている人はいますか?
解決
ここの有効桁の素敵なチュートリアルを参照してください。非常に簡単な説明は次のようになります。アプリ内での計算に使用されている桁数
他のヒント
この質問に対する他の回答は、一般的な有効数字の概念の正しい説明にリンクしていますが、 NSNumberFormatter
さんの {uses|minimum|maximum}SignificantDigits
プロパティは計算の精度とは関係ありません。
有効数字は、最初のゼロ以外の数字から最後のゼロ以外の数字までの数字のグループです。通常、末尾のゼロが有効である場合を除きます。 分数. 。出力を特定の有効桁数に制限すると、次のような場合に便利です。 相対的 (パーセンテージ) 誤差は既知であるか、または望ましいものです。
まず第一に、 minimumSignificantDigits
そして maximumSignificantDigits
しない限り効果はありません usesSignificantDigits
に設定されています YES
. 。この場合、その効果は例を使って説明するのが最も簡単でしょう。
数字を見てみましょう a = 123.4567
, b = 1.23
, 、 そして c = 0.00123
:
仮定すると minimumSignificantDigits = 0
, 1
または 2
:
もし maximumSignificantDigits = 3
, 、 それから a
「123」としてフォーマットされます。 b
「1.23」として、 c
「0.00123」となります。
もし maximumSignificantDigits = 4
, 、 それから a
「123」としてフォーマットされます.5", b
「1.23」として、 c
「0.00123」となります。
もし maximumSignificantDigits = 2
, 、 それから a
「12」としてフォーマットされます0", b
「1.2」として、 c
「0.0012」として。
仮定すると minimumSignificantDigits = 4
:
もし maximumSignificantDigits = 4
, 、 それから a
「123.5", b
「1.23」として0"、 そして c
「0.00123」として0".
注記:の 4 → 5 a の 4 に続く数字は 5 であるため、変換は最近似モードにより発生します。