iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 6
1

https://ithelp.ithome.com.tw/upload/images/20190920/20118842V5aPcwtfKv.jpg

數字(Number)

Ruby 是一種物件導向式的語言,基本上所有看得見的東西都是物件(例外如Block),因此當然數字也是物件。
其中數字又可細分為 整數(integer) 與 浮點數(float)

16.class
=> Integer
>> 10.0.class
=> Float

基本數學運算
在運算上如果是單純的整數運算,返回值就是整數如果算式中有浮點數,則會返回浮點數比較重要的是整數除法
會返回商的整數部份

1 + 2           # 3
1.0 + 1.0       # 2.0
10 / 4          # 2
10 / 4.0        # 2.5
10.0 / 4.0      # 2.5

Infinity
將浮點數除以0,雖然在數學上除以0沒有意義,但在 ruby 中可以做出極大極小值,可以用來為一些比較做初始化。

+1.0 / 0         # Infinity
-1.0 / 0         # -Infinity

比較

1 == 1.0      # true
2 > 3         # false
10 < 12       #true

其中要注意的是 ruby 中浮點數並不精確,並不建議使用浮點數進行精確的比較
若需要精確的浮點數可以使用 BigDecimal

方法
奇數偶數判斷

#剛接觸程式語言判斷奇數偶數
num = 10

  if num % 2 == 0  
    puts "偶數"
  else
    puts "奇數"
  end
# %符號是代表取餘數的意思 如果num 除以2 得到的餘數是0 就印出偶數,不然就印出奇數

#但其實你可以這樣寫更快 更方便喔

5.odd?   # true 
8.even?  # true

在 Ruby 裡,很多東西都不是它看起來的樣子,我們一般在算四則運算時

1+2  #3
#正常的認知是這樣,但...有說過ruby是一款物件導向的程式語言
#這看起來簡單到不行的加法運算,但其實那個 + 號其實並不是普通的加號,它在 Ruby 只是一個一般的方法(method),上面這行的原來的樣子應該是:
1 + (2)  #3

#這意思就是 1 呼叫了 + 這個方法 然後把(2)當成參數帶進去 是不是很

https://ithelp.ithome.com.tw/upload/images/20190920/20118842gIjO2qK9Xc.jpg

要怎麼做「四捨五入到小數點第二位」?

我們可以使用數字物件的 round 方法,可以對數字進行四捨五入計算:

puts 3.222.round      # => 3
puts 3.83.round      # => 4
# round 就是一般的四捨五入方法
puts 2.3311.round(2)   # => 3.33
puts 4.518.round(2)   # => 4.52
#上面例子是取到小數點第二位

上一篇
DAY5 變數與常數 有點深 又不會太深的探討
下一篇
DAY7 字串(string)
系列文
毫無基礎學習 Ruby on Rails 的 甘苦心得30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言