Rubyで数値(Numeric)を扱う。位(くらい)を指定して四捨五入など
Rubyで数値を操作するサンプルをまとめて載せてみます。
●目次
数値が0かどうかを確認する
puts 0.zero? #true puts 4.zero? #false puts 0.nonzero? #nil puts 4.nonzero? #4
四捨五入(丸め操作)
Rubyの数値の丸め操作のメソッドは以下のようなものがあります。
メソッド名 | 戻り値 |
---|---|
round | 四捨五入する |
floor | 自身と等しいか、自身より大きい整数のうち最小のものを返す自身より小さい整数のうち最小のものを返す |
ceil | 自身と等しいか、自身より大きい整数のうち最小のものを返す |
truncate | 自身と0の間で、自身に最も近い整数を返す |
roundの引数を指定することで、小数点第X位で四捨五入することができます。
逆に、10の位(2桁目)で四捨五入したいときは、round(-2)と指定します。
# encoding:utf-8 puts 1.6.round #2 puts 1.4.round #1 puts 150.round(-2) #200 puts 1500.round(-2) #1500 puts 1500.round(-3) #2000 puts -1.5.round #-2 puts 56.5.ceil #57 puts 56.5.floor #56 puts 22.2.truncate #22 puts -1.5.truncate #-1
偶数か奇数かを調べる
#奇数か調べる puts 6.odd? #false puts 5.odd? #true #偶数か調べる puts 6.even? #true puts 5.even? #false
整数を文字列に変換する
#10進数 puts 30.to_s #30 #2進数 puts 30.to_s(2) #11110 #8進数 puts 30.to_s(8) #36
文字列を整数に変換する
puts '222'.to_i #222 x = '75'.to_i + '75'.to_i puts x #150
ある整数からある整数まで繰り返す
#1,2,3,4,5,6,7,8,9,10, puts "上がっていく" 1.upto 10 do |num| print num print "," end puts "\n下がっていく" #10,9,8,7,6,5,4,3,2,1, 10.downto 1 do |num| print num print "," end
puts "順番に" #1,2,3,4,5,6,7,8,9,10, 1.step 10 do |num| print num print "," end puts "\n2つおきに" #0,2,4,6,8,10 0.step 10,2 do |num| print num print "," end
分数を表現する
bunsu = Rational(1,5) puts bunsu #1/5 #分母 puts bunsu.denominator #5 #分子 puts bunsu.numerator #1