Что описывает NSNumberFormatter -maximumSignificantDigits?
-
19-09-2019 - |
Вопрос
В документации нет текста о том, что это означает, но это очень важно понять, чтобы не столкнуться с проблемами.Кто-нибудь знает, что такое «значащие цифры» числа?
Решение
Видишь здесь за хороший учебник по значащим цифрам.Очень простым объяснением было бы:количество цифр, которые используются для вычислений в вашем приложении.
Другие советы
Хотя другой ответ на этот вопрос связан с правильным объяснением концепции значащих цифр в целом, NSNumberFormatter
's {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
будет отформатирован как «120", b
как «1,2» и c
как «0,0012».
Предполагая minimumSignificantDigits = 4
:
Если maximumSignificantDigits = 4
, затем a
будет отформатирован как «123.5", b
как "1.230", и c
как "0.001230".
Примечание:А 4 → 5 преобразования происходят благодаря режиму округления до ближайшего, поскольку цифра, следующая за 4 в a, равна 5.