【问题标题】:What describes NSNumberFormatter -maximumSignificantDigits?什么描述了 NSNumberFormatter -maximumSignificantDigits?
【发布时间】:2010-11-22 06:46:23
【问题描述】:

文档中没有关于这意味着什么的文字,但为了不遇到麻烦,理解它听起来非常重要。有人知道数字的“有效数字”是什么意思吗?

【问题讨论】:

    标签: objective-c iphone cocoa-touch uikit foundation


    【解决方案1】:

    尽管此问题的其他答案通常链接到对有效数字概念的正确解释,但NSNumberFormatter{uses|minimum|maximum}SignificantDigits 属性与计算精度无关。

    有效数字是数字中从第一个非零数字到最后一个非零数字(含)的一组数字,通常除非尾随零是小数。如果已知或需要相对(百分比)错误,则将输出限制为特定数量的有效数字很有用。

    首先,minimumSignificantDigitsmaximumSignificantDigits 无效,除非 usesSignificantDigits 设置为 YES。如果是这种情况,它们的效果可能最容易通过示例来解释。

    让我们用数字a = 123.4567b = 1.23c = 0.00123

    假设minimumSignificantDigits = 012

    如果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”,@987654349 @ 为“0.00123​0”。

    注意:45 转换是由于四舍五入模式而发生的,因为 a 中 4 后面的数字是 5。

    【讨论】:

      【解决方案2】:

      请参阅here,获取有关有效数字的精彩教程。非常简单的解释是:在您的应用中用于计算的位数。

      【讨论】:

      • 所以当我只使用格式化程序进行显示时,我不必关心 minimumSignificantDigits 或 maximumSignificantDigits?
      • 正确,这是我的理解。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-01
      • 2014-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多