Re: [問題] 請問是否有 1 轉 1st 的函式?(基數轉꜠…
反正你都來了,我就藉這個題目順便講一些事情
首先你可以看到我去 google 第二個網頁有提及 "自行撰寫"
所以如果你以相同關鍵字 Ordinal suffix 下去尋找
應該就可以看到他的程式碼了
那麼問題就來了,當我看到一個別的語言的程式碼的同時,
我要怎麼把他轉化成我自己會的程式?
因為我本身基本上都是看到程式見招拆招,
所以在這一塊上面也沒有什麼特別系統化的思考或見解
能夠對整個問題清楚而完整的描述說應該在哪些地方要注意什麼
沒關係,反正這邊正好有個例子,
我們就 Step by Step 來。
不過因為你有提及你會寫 java, 中間可能會跳過一些我覺得理所當然的事情.
首先他都已經自己說自己是個 function 了
那我就去對照 java 裡面的 function, 先生個
public String ordinal_suffix(int value, int sup)
public String ordinal_suffix(int value)
你一定會覺得奇怪, 他明明就一個 function 為什麼我要弄兩個
因為他 $sup 有預設不傳進去的時候等於 0 的狀況
所以我們就弄個 ordinal_suffix(int value)
直接 return ordinal_suffix(value, 0);
這樣就可以類比到那種預設狀況..
接下來因為我們有指定 value 是 int
所以 is_numeric 等都不用加以檢查 XD
接下來你可能會想 substr 要怎麼代換...
因為我們拿到的是 int, 直接 % 100 就好
也不用轉 String 再 substring 再用 equals 比對
然後巴拉巴拉看到後面發現 $sup 是 tag 語法.
太棒啦.
把 ordinal_suffix(int value, int sup) 內容拿去蓋掉
ordinal_suffix(int value)
然後再把 return String.valueOf(value) + suffix 補上大概就大工告成了吧。
之後可能就針對 1x 或 11x 是 th 但 111x 是不是 th?
這個問題是不是各地區不同, 需要加個參數取得不同結果嘛?
各方面思考後進一步對程式進行修改以符合你所需要的呈現。
最後我有一個小小的不情之請,
如果你從這中間有獲得什麼心得,或覺得說能留下些感想,
來幫助下一位遭遇此種困難的人,能更加易於了解如何去解決這樣一個問題,
也請你多多分享,謝謝。
※ 引述《motomika (之輕)》之銘言:
: 不好意思喔,我在網路上只有看見 php 日期轉換可以轉
: http://www.smallway.idv.tw/phpbible/function.php?date
: 個人是要針對一般數值做轉換
: 因為只會寫 java 所以對其他語言有誤解或不清楚之處,請多多包函,勿鞭勿戰
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.32.227
討論串 (同標題文章)