因此,我有一个必须回到世纪的问题。我已经编写了代码,但是它失败了很多年,例如1700或1800。 我的问题是,如何确定一个特殊的年份,如果年份是固定的,例如2000,则只能将年份除以100? 我已经尝试过
element.slice(-2);
但是没有用。 这是我当前的代码
function centuryFromYear(year) {
var x = Math.floor(year/100) + 1;
return x;
}
答案 0 :(得分:4)
首先从year
中减去1:
function centuryFromYear(year) {
return Math.floor((year-1)/100) + 1;
}
示例:
centuryFromYear(1999) // 20
centuryFromYear(2000) // 20
centuryFromYear(2001) // 21
答案 1 :(得分:2)
最后两位数字:
let myNumber = 2000;
console.log(myNumber.toString().slice(-2))
前两位数字:
let myNumber = 2000;
console.log(myNumber.toString().slice(0,2))
最终功能:
function centuryFromYear(year) {
if(typeof year == 'string')
if(year.toString().slice(-2) == '00')
return year.toString().slice(0,2);
else
return (Math.floor(+year/100) +1).toString();
else if(typeof year == 'number')
return Math.floor((year-1)/100) + 1;
else
return undefined;
}
console.log(centuryFromYear("2000"));
console.log(centuryFromYear("1901"));
console.log(centuryFromYear("2002"));
console.log(centuryFromYear(2002));
console.log(centuryFromYear(1999));
console.log(centuryFromYear(2000));
答案 2 :(得分:2)
您可以将其最短表示为:
return Math.ceil(year/100);
答案 3 :(得分:1)
您只需执行以下操作即可检查该特殊情况:
function centuryFromYear(year) {
var x = Math.floor(year / 100);
if (year % 100 === 0)
return x;
else
return x + 1;
}
答案 4 :(得分:1)
function centuryFromYear(year) {
var testInt = Number.isInteger(year/100);
if (year >= 1 && testInt == true ) {
return Math.floor(year/100);
}
else if ( year >= 1 && testInt == false) {
return Math.floor(year/100) + 1;
}
}
答案 5 :(得分:0)
在函数中添加一个额外的检查项,以检查年份是否为2000或1800之类的四舍五入的世纪。
//1.This code use the EWS mimeContent(the message on bytes - eml format)
//2.Create Independentsoft message object
//Independentsoft.Msg.Message constractor do the convert by
// making an msg object from an eml object.
//3. save the msg file.
Independentsoft.Email.Mime.Message mimeMessage = new Independentsoft.Email.Mime.Message(emailMessage.MimeContent.Content);
Independentsoft.Msg.Message msgMessage = Independentsoft.Msg.Message(mimeMessage);
using (MemoryStream memStream = new MemoryStream(emailMessage.MimeContent.Content.Length))
{
Directory.CreateDirectory(TempMsgDirectory);
msgMessage.Save(TempMsgDirectory + "mail.msg", true);
}
答案 6 :(得分:0)
我可能会这样做:
<img *ngFor="let path of paths" [cacheSrc]="path"/>
答案 7 :(得分:0)
首先从年份中减去一年,以免每100年陷入混乱。
int centuryFromYear(int year) {
int century = Math.floor((year-1) / 100) + 1;
return century;}