首页 > web前端 > js教程 > 正文

JavaScript趣题:这是哪个世纪?

黄舟
发布: 2017-02-04 15:15:46
原创
1392 人浏览过

输入一些用数字表示的年份,返回它们所属的是哪一个世纪。

例如2016年,毫无疑问,这是第21世纪,我们记作21st。

这些年份都是4位的数字字符串,所以无需你对它做校验。

下面,是一些例子:

Input: 1999 Output: 20th  
Input: 2011 Output: 21st  
Input: 2154 Output: 22nd  
Input: 2259 Output: 23rd  
Input: 1124 Output: 12th  
Input: 2000 Output: 20th
登录后复制

首先,咋们观察一下,怎么把年份转化为世纪?


略作思索,便可以想到,先把年份除以100,再向上取整,就可以得到所属的世纪。

但是,还有一个问题,世纪后面的那个“st”,“nd”,“rd”,“th”该怎么弄呢?

咋们拿只笔,拿张白纸,统计一下,便可以发现规律:

20世纪及以前,比如说:tenth,eleventh,twelfth......twentieth都是加th。

20世纪以后,凡是被10整除得1的世纪,比如twentyfirst,thirtyfirst,fortyfirst......都是加st,凡是被10整除得2的世纪,则是加nd,凡是被10整除得3的世纪,加rd。

而20世纪以后的其他世纪,都是加th。

于是,我们把这统计的逻辑写成代码:

function whatCentury(year){  
    var century = Math.ceil(year / 100);  
    if(century <= 20){  
        century += "th";  
    }  
    else{  
        if(century % 10 == 1){  
            century += "st";  
        }  
        else if(century % 10 == 2){  
            century += "nd";  
        }  
        else if(century % 10 == 3){  
            century += "rd";  
        }  
        else{  
            century += "th";  
        }  
    }  
    return century;  
}
登录后复制

以上就是 JavaScript趣题:这是哪个世纪?的内容,更多相关内容请关注PHP中文网(www.php.cn)!


相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!