作者ogamenewbie (._.)
看板java
标题Re: [问题] 请问是否有 1 转 1st 的函式?(基数转꜠…
时间Wed Nov 5 21:45:40 2008
反正你都来了,我就藉这个题目顺便讲一些事情
首先你可以看到我去 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