我试图创建一个输入一年的函数,并且输出返回该年份的年份。我得到了大部分的失望,但在逻辑中的某个地方,我错过了一些东西,并且我没有得到正确的年份值,即2000年(20世纪,我得到21)
我的JS:
function centuryFromYear(year) {
if (year <= 100) {
console.log("um")
return year * 0 + 1
} else if (year > 100 && year <= 1000) {
console.log("dois")
var kek = year / 100
var lul = Math.floor(kek)
} else if (year > 1001) {
console.log("tres")
var kek = year / 100
var lul = Math.floor(kek)
return (lul + 1)
}
}
答案 0 :(得分:2)
可能是这样的:
function centuryFromYear(year) {
return Math.floor((year - 1) / 100) + 1;
}
//* tests
[100,101,250, 1000, 1001, 1999, 2000, 2001].forEach(function(y) {
console.log(y + ' year is in ' + centuryFromYear(y) + ' century');
});
&#13;
答案 1 :(得分:0)
对于略显凌乱的方法道歉,我确信可能有更优雅的方法:
注意:格鲁吉亚日历上不存在负数世纪和第0年AD
function myFunction() {
year = 2000;
b = year;
if (b % 100 > 0){
b = Math.floor((year)/100);
b = b +1 ;
}
else if (b % 100 == 0){
b = Math.floor((year)/100);
}
else if (b < 100 && b > 0){
b = (Math.floor((year)/100)+1);
}
}