Numeric
|-- Float
|-- Integer
    |-- Fixnum
    |-- Bignum

Numeric的基本结构

整数的差异,一般的数字Fixnum就能够处理,即使超过了Fixnum的处理范围也会直接转换为Bignum,不需要程序员处理。

0b开头的数字是二进制的;

0开头的数字是八进制的;

0d开头的数字是十进制的;

0x开头的数字是十六进制的;

之外的基本上都是十进制的。

?a,是查看字符a的ASCII码。

?\t,查看\t的ASCII码。

123.45,浮点数

123.45e3,123.45*103

123.45e-3,123.45*10-3

数字内的下划线会被忽略掉!!!!

p 123_456_789  #=> 123456789

p 0x1_2_3  #=>0x123

p 1_234.0e3  #=>1234000.0

+,-,*,/

%  取余数

**  求幂

x.divmod(y)  #返回结果为一个包含两个元素的数组。第一个元素为商,第二个元素为余数。

x.module(y)  #等同于x%y

x.remainder(y)  #返回符号与x相同的余数

整数除以0会出现错误;

浮点数除以0返回结果为Infinity

"123".to_i

123.to_f

反正我没有发现他们会出现什么异常。

round,Float#to_i会直接去掉小数点后面的部分。如果想要四舍五入需要用round。

ceil,floor:天花板, 地板

n.times{|i|...}

from.upto(to){|i|...}

from.downto(to){|i|...}

form.step(to, step){|i|...}

Ruby Numeric的更多相关文章

  1. Ruby  Numeric类

    Numeric类   Numeric ---------> Integer ---------> Fixnum                                       ...

  2. 1月24日 ruby基础3部分 Numeric, Array已学。

    <div style="background:lightblue"> 第12章 数值类 12.1 数值的构成 Numeric-> Integer-> Fix ...

  3. 「ruby/MiniMagick」用MiniMagick处理图片

    包的选择和配置 想用RMagick,但据说内存泄露的问题比较厉害,作为替代品MiniMagick不存在内存泄露的问题.而二者都是使用ImageMagick的,所以需要下载并安装ImageMagick. ...

  4. ruby学习总结05

    1.数值类(Numeric) 有理数:Rational(分子,分母) 复数:Complex(实数,虚数) 随机数:Rnadom   rand()  返回比1小的浮点数,rand(种子数)  返回0到该 ...

  5. ruby条件控制结构

    一.比较语句 大部分和其他的语言一样,这里注意<=>. 条件语句 如下几种形式 if if ..else.. end if..elsif..else..end unless(if not) ...

  6. 《ruby编程语言》笔记2 对象

    ruby是一门非常纯粹的面向对象的语言:所有值都是对象,而且没有基本类型(primitive type)和对象类型的区别,这一点不同于其他语言.在Ruby中,所有对象都继承一个Object类,而且共享 ...

  7. Ruby自学笔记(五)— 条件判断

    条件判断,在编程语言中都存在,而Ruby中的条件判断和Java中类似,当然还是存在些许差别 Ruby中条件判断的条件: 1) 可以使用 ==,<,>等比较运算来作为条件,比较运算可以返回t ...

  8. ruby.new

    ruby.new 输出:print.puts.p 注释 #say hello =begin this is a long comment =end 变量 local: time or _time in ...

  9. ruby 2.x.x之新特性散谈

    ruby入门看的是经典的<ruby编程语言>,可是那描述的是v1.9的老版本啊!下面聊一下ruby2.x.x的新特性,x是0-n都有可能啊. 1.关键字参数(Keyword argumen ...

随机推荐

  1. 中级iOS开发面试题

    1:MVC的理解 MVC设计模式考虑三种对象:数据模型对象,视图对象和控制器对象. 数据模型:负责存储.定义.操作数据: 视图:展示数据给用户,和用户进行操作交互: 控制器:M与V的协调者,控制获取数 ...

  2. 【题解】【链表】【Leetcode】Add Two Numbers

    You are given two linked lists representing two non-negative numbers. The digits are stored in rever ...

  3. css样式兼容不同浏览器问题解决办法

    在网站设计的时候,应该注意css样式兼容不同浏览器问题,特别是对完全使用DIV CSS设计的网,就应该更注意IE6 IE7 FF对CSS样式的兼容,不然,你的网乱可能出去不想出现的效果! 所 有浏览器 ...

  4. Linux TC (traffic control)

    在着手学习TC采用如下单位来描述带宽: mbps = 1024 kbps = 1024 * 1024 bps => byte/s mbit = 1024 kbit => kilo bit/ ...

  5. 关于Highcharts图表组件动态修改属性的方法(API)总结之Series

    Highcharts图表组件内的Series很重要,如果说Categries是其大脑,那么Series就是其心脏.这两者才是Highcharts图表组件的重中之重啊.接下来就为大家介绍关于设置Seri ...

  6. ubuntu 状态栏不显示时间

    有时候我们会看到我们电脑的状态栏那里并没有显示时间,一个原因是日期时间指示器没有工作,另一个可能的原因是用户禁用了时间显示. 方法一: 首先我们用下面的命令来确认一下是否安装了日期时间指示器: sud ...

  7. 310. Minimum Height Trees

    For a undirected graph with tree characteristics, we can choose any node as the root. The result gra ...

  8. 比较compareTo与equals及==的区别

    1.compareTo: 附上:源码: public int compareTo(String anotherString) {         int len1 = value.length;   ...

  9. php常用配置(php.ini)

    查看php配置文件的位置 # /usr/local/php/bin/php -i | head php配置文件中的注释是用;号 1.disable_functions(php要禁用的函数) phpin ...

  10. Codeforces Round #126 (Div. 2)

    A. Cinema 假设当前要的位置为\((x, y)\),如果枚举答案的横坐标,那么每次找离\(y\)最近的纵坐标. 如果占用了位置\((x,y)\),需要要更新第\(x\)行的信息,而占用位置\( ...