【Ruby入門】数値の数え上げ「upto」と四捨五入
  • facebookページ
  • twitterページ
  • 2017.10.19

    【Ruby入門】数値の数え上げ「upto」と四捨五入

    【Ruby入門】数値の基本と操作にて、数値の基本を解説しました。

    ここではさらに発展させて、Rubyの数値に関する便利なメソッドを中心に解説します。

    後半では、数値計算では欠かすことのできない切り捨て・切り上げ・四捨五入を解説します。上記リンクと合わせて読むと、数値の基本的操作ができるようになりますよ!

    Rubyの数値を扱うメソッドあれこれ

    Rubyには、数値を扱うメソッドが多数あります。ほんの一部になりますが、皆さんが使う可能性のあるものを解説します。

    upto

    ある数値からある数値まで昇順に処理するには、uptoを使います。

    [実行結果]

    3からループを開始し、6まで処理することができました。

    downto

    昇順のuptoがあればご想像通り、降順に処理するdowntoもあります。

    [実行結果]

    6から開始し、3まで減らしつつ処理することができました。

    times

    決められた回数繰り返すには、timesが便利です。

    [実行結果]

    5回繰り返すことができました。

    切り上げ、切り下げ、切り捨て、四捨五入

    Rubyの数値計算における切り上げ、切り下げ、切り捨て、四捨五入を解説します。

    Rubyで小数点以下の計算をする to_f

    単純に「100/14」とすると、小数点以下が切り捨てられて7とだけ表示されてしまいます。それを防ぐために、以下のようにします。

    普通に100と書くと整数値扱いになります。まずはto_fを使い、小数点以下をもつ浮動小数点に変換する必要があります。

    [実行結果]

    小数点以下を得ることができました。

    切り上げ ceil

    ceilを使い、切り上げをしてみましょう。

    数値.ceilと引数をつけずに実行すると、小数点以下1位を切り上げます。正の引数をつけると、小数点以下を切り上げます。負数の引数をつけると、整数部分の切り上げになります。

    [実行結果]

    正数で試しましたが、負数なら結果が変わります。

    [実行結果]

    何が起こったのか解説しましょう。

    マイナスからプラスへと向かって切り上げられるからです。Rubyのマニュアルを見てみましょう

    自身と等しいかより大きな整数のうち最小のものを返します。

    123.456なら、小数点以下3位が存在しているから、より大きな123.46になります。しかし-123.456なら、小数点以下3位が存在しているから、直近に大きい数字-123.45となるわけです。

    切り下げ floor

    floorで切り上げができます。先ほどの例でfloorを見てみましょう。

    [実行結果]

    負数でも試しましょう。

    [実行結果]

    切り下げはマイナス方向での処理ですので、上記のような結果となりました。

    切り捨て truncate

    truncateで切り捨てができます。引き続き同じ例で見てみましょう。

    [実行結果]

    負数で試しましょう。

    [実行結果]

    切り捨てなので、正数・負数とも結果は変わりません。

    四捨五入 round

    最後に、四捨五入です。roundを使います。

    [実行結果]

    負数でも試しましょう。

    [実行結果]

    こちらも結果は変わりません。

    最大公約数 gcd、最小公倍数 lcm

    Rubyには、なんと最大公約数と最小公倍数を求めるメソッドもあります。gcdとlcmです。

    最大公約数 gcd

    gcdを使って、125と100の最大公約数を求めましょう。

    [実行結果]

    最大公約数が出ました。

    最小公倍数 lcm

    同じ例を使って、今度はlcmを使って最小公倍数を求めましょう。

    [実行結果]

    最小公倍数が出ました。

    まとめ

    本記事では、昇順の数え上げや降順の数え下げ、四捨五入、ちょっとめずらしい最大公約数や最小公倍数を解説しました。

    これらは数値計算では一般的なことなので、がんばって理解して、スマートな数値計算ができるようになってくださいね!


    Ruby on Railsのフリーランスは高収入でおすすめ!

    Rubyができる方は多くはいないのが現状です。 プロジェクトは右肩上がりで増えているので、エンジニアが全く足りておりません。 Rubyの実務経験が1年以上ある方はフリーランスになることもできるので、ぜひご興味があればポテパンの無料カウンセリングをご利用下さいませ! Ruby案件に関する情報は下記にまとまっていますのでぜひご覧下さい。

    Ruby on Rails案件のイマがわかる!知って見つかる最適案件


    ポテパンが提供するサービスについて

    本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。

    ポテパンフリーランス

    ポテパンフリーランス

    フリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。また、これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!フリーエンジニアになりたい方向けのコンテンツも盛りだくさんです。

    ポテパンキャリア

    ポテパンキャリア

    エンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。年収800円以上のハイスペック転職をご希望の方は「ポテパンプロフェッショナル」もご用意しておりますのでご利用下さいませ。

    ポテパンキャンプ

    ポテパンキャンプ

    ポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。すでに本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。なお、本スクールは受講料10万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。



    株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。気になるサービスがあれば、ぜひ覗いてみてください!

    ポテキャンバナー ポテキャリバナー

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE