class Integer

Public Instance Methods

to_bn(params = {:in_words => false}) click to toggle source
# File lib/to_bn.rb, line 77
def to_bn(params = {:in_words => false})
  if params[:in_words] == true
    list = %w(শূন্য এক দুই তিন চার পাঁচ ছয় সাত আট নয় দশ এগার বারো তেরো চৌদ্দ পনেরো ষোল সতের আঠারো উনিশ বিশ একুশ বাইশ তেইশ চৌব্বিশ পঁচিশ ছাব্বিশ সাতাশ আঠাশ উনত্রিশ ত্রিশ একত্রিশ বত্রিশ তেত্রিশ চৌত্রিশ পঁয়ত্রিশ ছত্রিশ সাঁইত্রিশ আটত্রিশ উনচল্লিশ চল্লিশ একচল্লিশ বিয়াল্লিশ তেতাল্লিশ চুয়াল্লিশ পঁয়তাল্লিশ ছেচল্লিশ সাতচল্লিশ আটচল্লিশ উনপঞ্চাশ পঞ্চাশ একান্ন বায়ান্ন তিপ্পান্ন চুয়ান্ন পঞ্চান্ন ছাপ্পান্ন সাতান্ন আটান্ন উনষাট ষাট একষট্টি বাষট্টি তেষট্টি চৌষট্টি পঁয়ষট্টি ছেষট্টি সাতষট্টি আটষট্টি উনসত্তর সত্তর একাত্তর বাহাত্তর তিয়াত্তর চুয়াত্তর পঁচাত্তর ছিয়াত্তর সাতাত্তর আটাত্তর উনআশি আশি একাশি বিরাশি তিরাশি চুরাশি পঁচাশি ছিয়াশি সাতাশি আটাশি উননব্বই নব্বই একানব্বই বিরানব্বই তিরানব্বই চুরানব্বই পঁচানব্বই ছিয়ানব্বই সাতানব্বই আটানব্বই নিরানব্বই)
    if self < 100
      return list[self]
    else
      if self >= 10000000
        if self % 10000000 > 0
          return (self/10000000).to_bn(params) + " কোটি  " + (self % 10000000).to_bn(params)
        else
          return (self/10000000).to_bn(params) + " কোটি "
        end
      elsif self >= 100000
        if self % 100000 > 0
          return (self/100000).to_bn(params) + " লক্ষ " + (self % 100000).to_bn(params)
        else
          return (self/100000).to_bn(params) + " লক্ষ"
        end
      elsif self >= 1000
        if self % 1000 > 0
          return (self/1000).to_bn(params) + " হাজার " + (self % 1000).to_bn(params)
        else
          return (self/1000).to_bn(params) + " হাজার"
        end
      elsif self >= 100
        if self % 100 > 0
          return (self/100).to_bn(params) + " শত " + (self % 100).to_bn(params)
        else
          return (self/100).to_bn(params) + " শত"
        end
      end
    end
  else
    return self.to_s.to_bn params
  end
end