module PositiveNumberSupport::IntegerExt
整数のクラス (Integer) に機能を追加するためのモジュール
Public Instance Methods
digit()
click to toggle source
桁数を取得するメソッド @return [Integer] @example
3.digit => 1 17.digit => 2 100.digit => 3 -2000.digit => 4
# File lib/positive_number_support/integer_ext.rb, line 52 def digit abs.to_s.length end
meaningful?()
click to toggle source
# File lib/positive_number_support/integer_ext.rb, line 27 def meaningful? natural_number? end
pjust( int: 4 , float: 3 )
click to toggle source
rjust, ljust を用いて,小数点の桁揃えを行うメソッド @param [Integer (natural number)] int 整数部の桁数 @param [Integer (natural number)] float 小数部の桁数 @return [String (number)] @raise [IndexError] left, right の両方が自然数でない場合に発生するエラー
# File lib/positive_number_support/integer_ext.rb, line 38 def pjust( int: 4 , float: 3 ) raise "Error: The variables \'int\' and \'float\' should be integer." unless [ int , float ].all?( &:integer? ) to_s.rjust( int ).ljust( float + 1) end
to_currency( n = 3 , separator: "," )
click to toggle source
n 桁(デフォルトは3桁)ごとに文字 separator (デフォルトは “,” )で区切るメソッド @return [String] @example
1234.to_currency => "1,234" 1234567890.to_currency => "1,234,567,890" 1234567890.to_currency() => "1,234,567,890" 12345.to_currency(4,separator: " " ) => "1 2345" 1234567890.to_currency(3,separator: "." ) => "1.234.567.890"
# File lib/positive_number_support/integer_ext.rb, line 12 def to_currency( n = 3 , separator: "," ) to_s.reverse.gsub( /(\d{#{n}})(?=\d)/ , '\1' + separator ).reverse end
to_two_digit_hex()
click to toggle source
16進数の文字列に変換するメソッド @return [String]
# File lib/positive_number_support/integer_ext.rb, line 18 def to_two_digit_hex str = to_s(16) if str.length == 1 "0" + str else str end end