iT邦幫忙

2022 iThome 鐵人賽

DAY 5
0
Modern Web

Ruby新手村的礦工日記系列 第 5

[ Day 05 ] Ruby 中的數字沒有你想得這麼簡單

  • 分享至 

  • xImage
  •  

數字

請記住在Ruby裡,幾乎所有東西都是物件,因為他是以物件導向去設計的語言。

你以為的四則運算可能沒有這麼簡單

當我們看到一個數字時,我們會覺得就是一個很普通的數字,但其實他在Ruby中是一個數字物件
例如:

puts 1 + 2
# 印出 3

上面看起來非常簡單的加法運算,但其實是在Ruby中加號只是一般的方法(method),並省略了小括號。
它的原型應該是長這樣:

puts 1.+(2)
# 印出 3

上面用白話文翻譯,數字物件1呼叫了+方法,並把數字物件2當作參數傳進去。

數字怎麼分辨?

你一定會想數字就數字還需要分辨嗎?
你這樣想就錯了,在Ruby中數字分成兩種:

  1. 整數(Integer)
    例如:11, 1, 15, 1200984
  2. 浮點數(Float)
    例如:12.1, 7.3, 123.435

整數除法

在Ruby中,整數除法是我們需要注意的。
當我們進行除法時,如果除數及被除數都是整數的,那結果也會是整數,除不盡的小數會無條件捨去。

puts 10 / 3   # => 3

如果你想要看到小數點的話,你可以在除數或是被除數其中一個加上小數點就行了。

puts 10.0 / 3 # =>3.3333333
puts 10 / 3.0 # =>3.3333333

浮點數轉成整數

我們如果需要將浮點數轉換成整數,可以使用以下方法:

puts 3.55.round    # => 4    #轉成整數,四捨五入 

puts 3.71.floor    # => 3    #轉成整數,無條件捨去

puts 3.14.ceil     # => 4    #轉成整數,無條件進位

puts 3.14.to_i     # => 3    #轉成整數,無條件捨去

參考資料:

  1. 為你自己學 Ruby on Rails

上一篇
[ Day 04 ] Ruby 要怎麼使用字串?
下一篇
[ Day 06 ] Ruby 陣列
系列文
Ruby新手村的礦工日記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言