前言
這篇單純記錄我遇到一些不熟悉的地方而已
我們先來看題目 - RGB To Hex Conversion
題目
題目非常簡單,就是轉成色碼而已,所以大於 255(FF) 或是 小於 0 的都是無效的,題目要求我們把它變成最接近的數值也就是
大於255就當做255,小於0當做0
所以這邊我們可以額外寫一個函式,專門處理範圍的
1 | func limit(_ color: Int) -> Int { |
接下來就可以處理字串了
1 | func rgb(_ r: Int, _ g: Int, _ b: Int) -> String { |
這樣就完成了
解析
第一個 limit 這個函式,簡單來說就式處理範圍的(廢話)
第二個就是題目要求我們需要回傳的字串,使用String(format: "yourformat", argument: yourargument)
來達成我們要的,其中%02X
代表:
使用十六進位且大寫(X 的部份),並且不足2位數就補0(02的部份)
這樣就可以達到題目的要求了
完整程式碼如下
1 | func limit(_ color: Int) -> Int { |
如果有錯誤的部份,歡迎指正,謝謝。
如果你喜歡這篇文章,請幫我拍手
只需要註冊會員就可以囉,完全不用花費任何一毛錢就可以用來鼓裡創作者囉