ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript の楽しい質問: 今は何世紀ですか?

JavaScript の楽しい質問: 今は何世紀ですか?

黄舟
黄舟オリジナル
2017-02-04 15:15:461349ブラウズ

数値で表現された年を入力し、それらが属する世紀を返します。

たとえば、2016 年は 21 世紀であることに疑いの余地はなく、私たちはそれを 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世紀以降の他の世紀では、thが追加されます。

そこで、この統計のロジックをコードに書きました:

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 中国語 Web サイト (www.php.cn) に注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。