题目:
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');
}