Ruby Numeric
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的更多相关文章
- Ruby Numeric类
Numeric类 Numeric ---------> Integer ---------> Fixnum ...
- 1月24日 ruby基础3部分 Numeric, Array已学。
<div style="background:lightblue"> 第12章 数值类 12.1 数值的构成 Numeric-> Integer-> Fix ...
- 「ruby/MiniMagick」用MiniMagick处理图片
包的选择和配置 想用RMagick,但据说内存泄露的问题比较厉害,作为替代品MiniMagick不存在内存泄露的问题.而二者都是使用ImageMagick的,所以需要下载并安装ImageMagick. ...
- ruby学习总结05
1.数值类(Numeric) 有理数:Rational(分子,分母) 复数:Complex(实数,虚数) 随机数:Rnadom rand() 返回比1小的浮点数,rand(种子数) 返回0到该 ...
- ruby条件控制结构
一.比较语句 大部分和其他的语言一样,这里注意<=>. 条件语句 如下几种形式 if if ..else.. end if..elsif..else..end unless(if not) ...
- 《ruby编程语言》笔记2 对象
ruby是一门非常纯粹的面向对象的语言:所有值都是对象,而且没有基本类型(primitive type)和对象类型的区别,这一点不同于其他语言.在Ruby中,所有对象都继承一个Object类,而且共享 ...
- Ruby自学笔记(五)— 条件判断
条件判断,在编程语言中都存在,而Ruby中的条件判断和Java中类似,当然还是存在些许差别 Ruby中条件判断的条件: 1) 可以使用 ==,<,>等比较运算来作为条件,比较运算可以返回t ...
- ruby.new
ruby.new 输出:print.puts.p 注释 #say hello =begin this is a long comment =end 变量 local: time or _time in ...
- ruby 2.x.x之新特性散谈
ruby入门看的是经典的<ruby编程语言>,可是那描述的是v1.9的老版本啊!下面聊一下ruby2.x.x的新特性,x是0-n都有可能啊. 1.关键字参数(Keyword argumen ...
随机推荐
- SQL 面试题及答案(一)
1. SQL 语法:update set from: http://wenku.baidu.com/link?url=aVr5EbEmx-pNK86rdnas8YDWG8txjg8GEry-HU_dF ...
- CentOS 6.6 MySQL install
/************************************************************************* * CentOS 6.6 MySQL instal ...
- 用中文把玩Google开源的Deep-Learning项目word2vec
google最近新开放出word2vec项目,该项目使用deep-learning技术将term表示为向量,由此计算term之间的相似度,对term聚类等,该项目也支持phrase的自动识别,以及与t ...
- App_Code 引起的 ambiguously 问题
今天遇到了一个这样的问题,一个.net framework 4.0 的web application ,下面有一个App_Code文件夹,里面的一些公共类的build action 是 Compile ...
- 使用AjaxPro
1:后台注册 protected void Page_Load(object sender, EventArgs e) { AjaxPro.Utility.RegisterTypeForAjax(ty ...
- union与union的区别
把2个具有相同列及数据类型的 结果 放到一起显示,并且不去重.select a,b,c from table1union allselect ca,cb,cc from table2 而union会对 ...
- 使用Matlab对灰度图像编程实现2D的傅里叶变换
1. 先载入一幅灰度图像,如下: (非灰度图) 2. 利用函数fft2,对其进行快速傅立叶变换, 并利用函数fftshift 将变换后的图像原点移动到频率矩形的中心. 3. 利用abs()函 ...
- PHP实例开发(2)PHP通过mail()或Socket发邮件
PHP通过mail()或Socket发邮件 1.PHP中发送邮件的方法 PHP发送邮件是“非常的简单” 因为他提供了mail()函数直接发送,但这也继 register globals 成为了对初学者 ...
- 作业:用HTML制作简历
代码为: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
- 数字字符与金钱RMB之间的转换
FormatMoney() 函数,直接将一个数字字符串,转化为 万元,并且格式化小数点保留两位 如右->¥(元.角.分) sprintf("%.2f", $value) ...