首页 > 代码库 > Ruby Numeric
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。