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 #

在数字前面加上一个前导符号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

ruby 数据类型Number的更多相关文章

  1. 雷林鹏分享:Ruby 数据类型

    Ruby 数据类型 本章节我们将为大家介绍 Ruby 的基本数据类型. Ruby支持的数据类型包括基本的Number.String.Ranges.Symbols,以及true.false和nil这几个 ...

  2. Ruby 数据类型

    Ruby 数据类型 本章节我们将为大家介绍 Ruby 的基本数据类型. Ruby支持的数据类型包括基本的Number.String.Ranges.Symbols,以及true.false和nil这几个 ...

  3. oracle中数据类型number(m,n)

    oracle中数据类型number(m,n)中m表示的是所有有效数字的位数,n表示的是小数位的位数.m的范围是1-38,即最大38位. 1> .NUMBER类型细讲:Oracle   numbe ...

  4. 关于容器类型数据的强转一共:str() list() set() tuple() dict() 都可以转换成对应的数据类型 /Number 数据类型的强转一共: int() bool() flaot() complex() 都可以转换成对应的数据类型

    # ###强制转换成字典类型 # 多级容器数据:该类型是容器数据,并且里面的元素还是容器类型数据 # ###二级容器 # 二级列表 listvar = [1,3,4,5,[6,7,8,9]] res ...

  5. 数据类型---->Number

    Javascript中有六种数据类型 1.undefined:这个值未定义 2.boolean:这个值是布尔值 3.number:这个值是数值 4.function:这个值是函数 5.object:这 ...

  6. oracle表数据类型number对应java中BIgDecimal转int

    oracle中id为number类型,在java获取id时用getBigDecimal 相匹配, 如果想转换成int,重写model中的getInt方法: public Integer getInt( ...

  7. Javascript数据类型——number类型

            ECMAScript规范中使用IEEE754格式来表示整数和浮点数.支持十进制.八进制以及十六进制.有一点注意的是八进制数字在严格模式下是无效的,这可能会影响到程序的正常运行. 避免浮 ...

  8. Oracle数据类型number

    oracle数值类型只有number number(变长) 1.number可以存放整数,可以存放小数: 2.number(p,s) 说明: p表示有效位,s为小数位:范围p[1,38],s[-84, ...

  9. ruby 数据类型Symbol

    一.符号创建 符号是Symbol类的实例,使用冒号加一个标识符即可创建符号 :a :"This is a symno" 二.符号字符串相互转换 p :symbol.to_s #=& ...

随机推荐

  1. 实现两个N×N矩阵的乘法,矩阵由一维数组表示

    此题的关键在于找到矩阵乘法的不变式! 例如: 矩阵a × 矩阵b = 矩阵ab 1 2 5 6 × 3 4 7 8 显然 ab[0] = a[0] * b[0] + a[1] * b[2] ab[1] ...

  2. <context:property-placeholder>配置资源文件

    直接在 spring 配置文件里面加上 <context:property-placeholder file-encoding="UTF-8" location=" ...

  3. June 07th 2017 Week 23rd Wednesday

    Failure is the condiment that gives success its flavor. 失败是让成功变美味的调味料. There are kinds of flavors in ...

  4. 如何清理Windows缩略图缓存?

    从Win95的IE4开始就有缩略图缓存了,缩略图缓存作用主要是用于存储Windows资源管理器缩略图图像文件.这加快了图像的显示速度,因为每次用户查看文件夹时都不需要重新生成这些较小的图像.缩略图缓存 ...

  5. Opportunity的chance of success的赋值逻辑

    该字段的值和另外两个字段Sales Stage和Status都相关. 从下列function module CRM_OPPORT_H_PROB_SET_EC可看出,当status不为代码中的这些硬编码 ...

  6. IOS 集成友盟分享

    #import <Foundation/Foundation.h> @interface UMSocialSinaHandler : NSObject +(void)openSSOWith ...

  7. ACM-ICPC (10/17)

    今天满课啊,天气太冷了,网上找了一下虚树的东西,还没弄懂~~~(:´д`)ゞ 牛客网挑战赛1 给定一棵n个点的树,问其中有多少条长度为偶数的路径.路径的长度为经过的边的条数.x到y与y到x被视为同一条 ...

  8. Android学习笔记_27_多媒体之视频刻录

    一.配置文件: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android= ...

  9. JS JavaScript中的文档碎片 DocumentFragement JS性能优化

    文档碎片是什么: 如果我们要在一个ul中添加100个li,如果不使用文档碎片,那么我们就需要使用append经常100次的追加,这会导致浏览器一直不停的渲染,是非常消耗资源的.但是如果我们使用文档碎片 ...

  10. 使用redux代码文件的组织方式

    从架构触发,开始一个新应用的时候,代码文件的组织方式一定要考虑好 如果之前使用过mvc的框架那么对按角色组织方式一定不陌生 角色组织方式 reducer/ todoReducer.js filterR ...