但是這種方法有壹個隱藏的bug:閏年。閏年的星座分割日在3月以後會增加1。隱藏的bug是大忌!如果有人調用妳的函數,總會出現不規則的錯誤,有時候妳發現不了問題,就是因為妳的函數有這個隱藏的bug。
為了繞過閏年的bug,我寫了下面這個函數,直接模仿人肉查詢月日的過程。
當然也有壹些可以優化的地方。比如月份的數組,因為維度和內容相同,可以直接優化;例如,最終的if語句結構可以替換為iif語句。但這些都是細節。為了更好的體現編程思路,我們就不做這些“巧妙”的優化了。
字符串形式的星座函數(x表示日期)
Dim XZ(12)作為字符串
Dim Yue(12)作為長
Dim Ri(12) As Long
XZ(0) = "摩羯座"
XZ(1) = "水瓶座"
XZ(2) = "雙魚座"
XZ(3) = "白羊座"
XZ(4) =“金牛座”
XZ(5) =“雙子座”
XZ(6) =“癌”
XZ(7) =“獅子座”
XZ(8) =“處女座”
XZ(9) =“天秤座”
XZ(10) = "天蠍座"
XZ(11) =“射手座”
XZ(12) = "摩羯座"
嶽(1) = 1
嶽(2) = 2
嶽(3) = 3
嶽(4) = 4
嶽(5) = 5
嶽(6) = 6
嶽(7) = 7
嶽(8) = 8
嶽(9) = 9
嶽(10) = 10
嶽(11) = 11
嶽(12) = 12
Ri(1) = 20
Ri(2) = 19
Ri(3) = 21
Ri(4) = 20
Ri(5) = 21
Ri(6) = 22
Ri(7) = 23
Ri(8) = 23
Ri(9) = 23
Ri(10) = 24
Ri(11) = 23
Ri(12) = 22
m =月(x)
d =天(x)
如果d & lt日(曰(米))然後
星座運勢= XZ(嶽(m) - 1)
其他
星座運勢= XZ(月(米))
如果…就會結束
結束功能