【Codewars】<6kyu>What century is it?

题目:

Return the century of the input year. The input will always be a 4 digit string, so there is no need for validation.


返回输入年份的世纪。输入总是一个4位数的字符串,因此不需要验证。

示例:

"1999" --> "20th"
"2011" --> "21st"
"2154" --> "22nd"
"2259" --> "23rd"
"1124" --> "12th"
"2000" --> "20th"

题解一:

// 注;题目中年份都是4位数,所以结果都是10以上
// 题解一:
function whatCentury(year){
    var r = parseInt(year/100) + 1
    if(r < 20) return r + 'th'; // 11到19都是加th,因为英语是 -teen"th"
    switch(r%10){
        // 除了11th,12th,13th,其它所有1,2,3,分别是st,nd,rd.剩下的都是th
        case 1: return r + 'st';
        case 2: return r + 'nd';
        case 3: return r + 'rd';
        default: return r + 'th';
    }
}

题解二:

// 题解二:
function whatCentury(year)
{
  var century = Math.ceil(year/100); // 通过Math.ceil() 向上取整
  return century + (century < 20 ? 'th' : ['th', 'st', 'nd', 'rd'][century % 10] || 'th');
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值