Rubyで小数点第2位以下を切り捨てる方法
公開日:
:
Ruby on Rails, Web技術・ノウハウ ruby, Tips
Rubyには標準で便利なメソッドがたくさん用意されています。数値の取り扱いについてもNumericクラスに便利メソッドが多々用意されていますが、意外なことにタイトルの「小数点第2位以下を切り捨て」ができるメソッドが見つかりませんでした。floorメソッドはあるけど意図したものとちょっと違うんだよなあ〜ということで、結局自分でコードを書くことに。今後も使いそうなので忘備録的に書き残しておきます。
小数点○位以下を切り捨てるコード
Numericクラスに「rounddown」メソッドを追加します↓
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
class Numeric def rounddown(n=1) # 数値を文字列に変換 str = self.to_s # 小数点アリ? if str.scan(/\./).size > 0 # 小数なら1 # 小数点で2つに分割 f1, f2 = str.split(/\./) # 後者は最初のn文字だけ取る n = 1 if n < 1 f2 = f2[0..(n-1)] # 文字列連結 s = f1+'.'+f2 # 数値(小数)へ変換 f = s.to_f else # 整数 f = self end f # 小数点2位までの数値or整数を返す end end |
使用例:小数点2位より下は切り捨て
1 2 |
1.234.rounddown(2) # -> 1.23 |
小数に.ronddownを付けて、引数で小数点何位までを表示するかを指定します。
ロジックは簡単で、一旦文字列扱いにして小数点部分を適宜切り捨て、そのあと数値に戻しているだけです。
以上、「Rubyで小数点第2位以下を切り捨てる方法」でした。
PR
関連記事
-
-
【SEO初心者向け】検索順位を確実に上げるためのWordPress×SEO基礎知識
「うちのホームページをネット検索に強くしたい。でもやり方がわからない。」 WordPressで
-
-
macでローカル環境のopensslをバージョンアップする手順 〜 brewで更新→rbenvでrubyを再インストール 〜
先日自社の運営サイトのSSL証明書の更新作業をしたのですが、ローカル環境として使っているmacで
-
-
次のページが表示されない!WordPressでページ送りができないときの原因と対処方法
先日対応したお客様のWordPress案件で、category.phpに「同カテゴリーに属する情
-
-
ムダな履歴データの蓄積をストップ!『Revision Control』で投稿ページ・固定ページの変更履歴をスマートに管理
投稿ページ・固定ページの「変更履歴」を制御するプラグイン『Revision Control』をご
-
-
【入れるだけ】投稿記事中のコードをキレイに表示!『Crayon Syntax Highlighter』はシンタックスハイライトをかけるプラグイン
WordPressの投稿記事中のコードをキレイに表示できるプラグイン「Crayon Syntax
-
-
URLを指定するだけでWebサイトを丸ごとダウンロードできるMacアプリ『SiteSucker』
Web制作をしていると、特定のサイトをローカルにダウンロードしたいと思うことがありませんか?
-
-
自作テーブルの追加からデータ取得まで!WordPressでデータをDBに保持して使う方法
WordPressでWebサイトを作ったとき、何かしらのデータをデータベース上に保持しておき必要
-
-
ドラッグ&ドロップだけ!『Intuitive Custom Post Order』は投稿一覧のページ並び順をスイスイ変更できるプラグイン
WordPressの投稿一覧の各投稿ページをカンタンに並べ替えできるプラグイン『Intuitiv
-
-
『Duplicate Post』で投稿ページ・固定ページをカンタン複製
WordPressの投稿ページや固定ページを複製できるプラグイン『Duplicate Post』
-
-
【Git】一つ前のcommitに戻す/他のブランチのcommitを取り込む
久しぶりにRailsでプログラムを書いている関係で、これまた久しぶりにgitを使っています。 で、