>  기사  >  웹 프론트엔드  >  JavaScript 재미있는 질문: 지금은 몇 세기입니까?

JavaScript 재미있는 질문: 지금은 몇 세기입니까?

黄舟
黄舟원래의
2017-02-04 15:15:461389검색

숫자 연도를 입력하고 해당 연도가 속한 세기를 반환합니다.

예를 들어 2016년은 의심의 여지 없이 21세기라고 기록하고 있습니다.

이 연도는 모두 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세기 이전, 예를 들어 10번째, 11번째, 12번째. .. 20번째 숫자는 모두 더하기 th입니다.

20세기 이후에는 21, 31, 41 등 10으로 균등하게 나누어 1이 되는 세기는 모두 st를 더하고, 10으로 균등하게 나누어 2를 얻는 세기는, 그런 다음 nd를 추가합니다. 10으로 균등하게 나누어 3이 되는 세기에는 rd를 추가합니다.

20세기 이후 다른 세기에는 가 추가됩니다.

그래서 우리는 이 통계의 논리를 코드에 작성했습니다.

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)를 주목해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.