ruby 数据类型Number

Ruby支持的数据类型包括基本的Number、String、Ranges、Symbols,以及true、false和nil这几个特殊值,同时还有两种重要的数据结构——Array和Hash

数值类型(Number)

1、整型(Integer)

整型分两种,如果在31位以内(四字节),那为Fixnum实例。如果超过,即为Bignum实例。

整数范围从 -230 到 230-1,在这个范围内的整数是类 Fixnum 的对象, 当整数值大于或等于2的30次方时( -262 到 262-1),会自动转化为 Bignum 类型。

书写整数时,可以根据需要在数字之间加入下划线而不会影响数字的值,例如:

a = 123_456_789
puts a  #123456789

在数字前面加上一个前导符号0b,0,0x分别可以表示二进制,八进制和十六进制,例如:

0b100100  #二进制
0123      #八进制
0xa0      #十六进制

整数运算符方法:

  • +,-,*,/:加减乘除运算
  • %:取模,4%3 => 1
  • |,&,^:按位与,按位或,按位异或
  • <<,>>:左移,右移运算
  • <=>:比较两个整数大小,前者若比后者大返回1,若相等返回0,若小于返回-1
  • []:位操作符号,n[i]返回n的第i个位置

整数常用的方法:

  • abs:返回数字的绝对值,-1.abs => 1
  • chr:返回数字对应的ASCII编码所对应的符号,65.chr => A
  • times:循环整数次的迭代方法,后面跟随代码块,3.times{|i| puts i} => 1,2,3
  • downto:从大到小进行迭代,3.downto(1){|i| puts i},循环从3~1,依次输出3,2,1
  • upto:从小到大进行迭代
  • step:按指定步长进行迭代
  • to_s:将整形转变为字符串的类型

浮点型(Float)

表现形式

3.1415926   #浮点值
31415926E-6 #科学记数法

浮点数的运算与整数类似,不过有如下几个比较特别的方法:

  • ceil:返回比浮点数大的最小整数,1.2.ceil => 2
  • floor:返回比浮点数小的最大整数,1.2.floor => 1
  • round:对浮点数四舍五入到一个整数,1.65.round => 2;1.65.round(1) => 1.7
  • to_i:返回值截取小数点后数字的整数,1.65.to_i => 1
原文地址:https://www.cnblogs.com/wf0117/p/8850418.html