`
isiqi
  • 浏览: 16338114 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

NSDecimalNumber NSNumber 区别 使用方法

阅读更多

NSDecimalNumber 是NSNumber的子类。

使用 [NSNumber numberWithDouble:]方法来格式我的NSNumber,但是,由于一些值比较大,我想要用科学计数法来表示。

NSDecimalNumber就提供了科学计数法的表示方法。

什么是科学计数法?

  将一个数字表示成 (a×10的n次幂的形式),其中1≤a<10,n表示整数,这种记数方法叫科学记数法。
  用幂的形式,有时可以方便的表示日常生活中遇到的一些较大的数,如:光的速度大约是300 000 000米/秒;全世界人口数大约是:6 100 000 000
  这样的大数,读、写都很不方便,考虑到10的幂有如下特点:
  10的二次方=100,10的三次方=1000,10的四次方=10 000……。
  一般的,10的n次幂,在1的后面有n个0,这样就可用10的幂表示一些大数,如:
  6 100 000 000=61×1 000 000 000=6.1×10的九次方。
  任何非0实数的0次方都等于1
  当有了负整数指数幂的时候,小于1的正数也可以用科学记数法表示。例如:0.00001=10的负5次方,即小于1的正数也可以用科学记数法表示为a乘10 的负n次方的形式,其中a是正整数数位只有一位的正数,n是正整数。
  有效数字
  有效数字是指从左面数不为0的数
  例如:890314000保留三位有效数字为8.90*10的8次方
  839960000保留三位有效数字为8.40*10的8次方
  0.00934593保留三位有效数字为0.00935
  
科学记数运算

  数字很大的数,一般我们用科学记数法表示,例如6230000000000;我们可以用6.23×10^12表示,而它含义是什么呢?从直面上看是将数字6.23中6后面的小数点向右移去12位。
  若将6.23×10^12写成6.23E12,即代表将数字6.23中6后面的小数点向右移去12位,在记数中如
  1. 3×10^4+4×10^4=7×10^4可以写成3E4+4E4=7E4
  即 aEc+bEc=a+bEc (1)
  2. 4×10^4-7×10^4=-3×10^4可以写成4E4-7E4=-3E4
  即 aEc-bEc=a-bEc (2)
  3. 3000000×600000=1800000000000
  3e6*6e5=1.8e12
  即 aEM×bEN=abE(M+N) (3)
  4. -60000÷3000=-20
  -6E4÷3E3=-2E1
  即 aEM÷bEN=a/bE(M-N) (4)
  5.有关的一些推导
  (aEc)^2=(aEc)(aEc)=a^2E2c 
  (aEc)^3=(aEc)(aEc)(aEc)=a^3E3c
  (aEc)^n=a^nEnc
  a×10^logb=ab
  aElogb=ab
  
6.n"E"公式

  3E4E5=30000E5=3E9
  即aEbEc=aEb+c
  6E-3E-6E3=0.006E-6E3
  =0.000000006E3
  =6E-6
  即aEbEcEd=aEb+c+d
  得aEa1Ea2Ea3.......Ean=aEa1+a2+a3+.......+an
  
7.n"E"公式与数列

  据n"E"公式aEa1Ea2Ea3.......Ean=aEa1+a2+a3+.......+an
  得aESn
  等差n项和公式na1+n(n+1)/2×d
  aEna1+n(n+1)/2×d
  等比n项和公式Sn=a1n(q=1)或 n(1-q^n)/1-q 
  aESn [Sn=a1n(q=1)或 n(1-q^n)/1-q(q≠1) ]
  数列通项记数
  等差:aEan=aEa1+(n-1)d
  等比:aEan=aEa1q^n-1
  8.aEb与aE-b
  aEb=a×10^b 
  aEb=a×10^-b 正负b决定E的方向
  科学记数意义
  “aE”表示并非具有科学记数意义,并且aE=a
  “Ea”表示具有科学记数意义,即Ea=1Ea a=3时 1E3=1000
  aEb=c a=c/Eb
分享到:
评论

相关推荐

    ios-四舍五入.zip

    然后,我们使用该处理程序对 NSDecimalNumber 进行四舍五入,并将结果转换回 NSNumber 返回。 这样的设计允许我们在代码中直接调用 `number.roundedNumberWithPrecision:` ,无需每次都创建格式化器或者手动处理...

    objc代码-两数相加,类方法

    在Objective-C(简称objc)编程语言中,类...这个例子展示了objc中类别和类方法的使用,以及如何利用`NSDecimalNumber`处理数值计算。这种编程技巧在日常开发中非常实用,尤其是在需要对现有类进行扩展或定制行为时。

    SecureMappingKit.zip

    - (NSDecimalNumber *)decimalNumberForKey:(id)aKey; - (NSString *)stringForKey:(id)aKey; - (NSURL *)urlForKey:(id)aKey; - (NSArray *)arrayForKey:(id)aKey; - (NSDate *)dateForKey:(id)aKey ...

    FormatterKit.zip

    - 对于 NSNumber 和 NSDecimalNumber,FormatterKit 提供了各种方法来处理货币、百分比和其他数值的格式化。这些方法可以自动处理小数点位置、千位分隔符以及货币符号等,使数值显示更加规范。 4. **URL 解析和...

    Objective-C Succinctly.pdf

    - **定义方法**:在类中定义方法时,可以使用`+`表示类方法,使用`-`表示实例方法。 - **实例化对象**:通过`[[ClassName alloc] init]`或`[ClassName new]`创建对象实例。 - **调用方法**:使用点号(`.`)或消息传递...

    iOS开发使用JSON解析网络数据

    当点击“load json”按钮时,会触发`loadJson`方法,通过HTTP请求获取JSON数据,然后使用`NSJSONSerialization`解析成数组,再将数组赋值给`dataList`,并刷新表格视图显示数据。 ```objc - (void)loadJson { ...

    Resort:用于在Objective-C中排序的简单比较器库

    通过compare:方法为Foundation中已经支持顺序的类定义了顺序compare:方法: NSString , NSDate , NSNumber , NSIndexPath以及它们的子类,例如NSMutableString和NSDecimalNumber 。 在其他情况下,比较器仅对...

    IOS计算器 支持连算,累算,小数点

    开发者需要利用UIKit框架,尤其是UIButton和UILabel组件来构建用户界面,同时使用Foundation框架中的数学运算类(如NSNumber和NSDecimalNumber)来进行数值计算。此外,事件驱动编程模型使得按钮点击事件可以触发...

    Calculator7:iOS 7样式的OS X计算器

    3. **数学运算**:Objective-C 提供了 NSNumber 和 NSDecimalNumber 类来处理数值,计算器的核心逻辑就是基于这些类进行数学运算。 4. **MVC(Model-View-Controller)模式**:Calculator7 应该遵循 MVC 设计模式,...

Global site tag (gtag.js) - Google Analytics