星座查询的算法

星座

日期(公历)

英文名

魔羯座

(12/22 - 1/19)

Capricorn

水瓶座 

(1/20 - 2/18)

Aquarius

双鱼座

(2/19 - 3/20)

Pisces

牡羊座

(3/21 - 4/20)

Aries

 金牛座 

(4/21 - 5/20)

Taurus

 双子座

(5/21 - 6/21)

Gemini

 巨蟹座

(6/22 - 7/22)

Cancer

 狮子座

(7/23 - 8/22)

Leo

 处女座

(8/23 - 9/22)

Virgo

 天秤座

(9/23 - 10/22)

Libra

 天蝎座

(10/23 - 11/21)

Scorpio

 射手座

(11/22 - 12/21)

Sagittarius

根据上面的我们可以写个方法以便来查询星座
 /// <summary>
    /// 根据生日查找星座
    /// </summary>
    /// <param name="birthday">datetime</param>
    /// <returns>string</returns>
    public string GetConstellationFromBirthday(DateTime birthday)
    {
        //先把日期转化为浮点型
        float birthdayF = 0.00F;

        if (birthday.Month == 1 && birthday.Day < 20)
        {
            birthdayF = float.Parse(string.Format("13.{0}", birthday.Day));
        }
        else if (birthday.Day > 10)
        {
            birthdayF = float.Parse(string.Format("{0}.{1}", birthday.Month, birthday.Day));
        }
        else
        {
            birthdayF = float.Parse(string.Format("{0}.{1}{2}", birthday.Month, 0, birthday.Day));
        }
        //birthdayF与
        float[] ConstellationBound ={ 1.20F, 2.20F, 3.21F, 4.21F, 5.21F, 6.22F, 7.23F, 8.23F, 9.23F, 10.23F, 11.21F, 12.22F, 13.20F };
        string[] Constellations = { "水瓶座", "双鱼座", "白羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "处女座", "天秤座", "天蝎座", "射手座", "魔羯座" };

        string ret = "靠!外星人啊。";
        //循环查找结果
        for (int i = 0; i < ConstellationBound.Length - 1; i++)
        {
            if (birthdayF > ConstellationBound[i] && birthdayF < ConstellationBound[i + 1])
                ret = Constellations[i];
        }
        return ret;
    }

posted @ 2007-09-10 02:02  明辰设计  阅读(1093)  评论(0)    收藏  举报