module ToRupees
Constants
- NEPALI_NUMBERS
Public Instance Methods
check_sign(num)
click to toggle source
# File lib/torupees.rb, line 159 def check_sign(num) return num < 0 ? ([num.abs, '-']) : ([num, '']) end
to_rupaiya()
click to toggle source
# File lib/torupees.rb, line 23 def to_rupaiya string = self.to_s.gsub(/\s+/, "") decimalcheck = string.index('.') if (decimalcheck != nil ) #return "Decimal Number Detected" + decimalcheck.to_s paisa = string[decimalcheck+1 .. decimalcheck+2 ] else p = false paisa = '0' end num = self.to_i num, sign = check_sign(num) #return "०" if num == 0 return (sign + NEPALI_NUMBERS[num] + " ।" + paisa.to_i.to_rupaiya) if (num <= 100 && paisa.to_i != 0) #return (sign + NEPALI_NUMBERS[num]+ " |") if (num <=100 && paisa.to_i == 0) return "०" if (num == 0 && paisa.to_i == 0) return (sign + NEPALI_NUMBERS[num]) if (num <=100 && paisa.to_i == 0) counter = 0 result = [] while num != 0 if (num > 10000000000000000) return false elsif ((num / 1000000000000000) >= 1) test , remaining = num.divmod(1000000000000000) return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,००,००,००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 9 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,००,००,०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 99 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,००,००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,००,०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 9999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 99999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 999999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 9999999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 99999999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 999999999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 9999999999 return ((sign + NEPALI_NUMBERS[test]) +",००,००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 99999999999 return ((sign + NEPALI_NUMBERS[test]) +",००,०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 999999999999 return ((sign + NEPALI_NUMBERS[test]) +",००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 9999999999999 return ((sign + NEPALI_NUMBERS[test]) +",०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 99999999999999 return ((sign + NEPALI_NUMBERS[test]) +","+ (remaining.to_s+ "."+ paisa).to_rupaiya ) elsif ((num / 10000000000000) >= 1) test , remaining = num.divmod(10000000000000) return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,००,००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 9 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,००,०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 99 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 9999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 99999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 999999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 9999999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 99999999 return ((sign + NEPALI_NUMBERS[test]) +",००,००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 999999999 return ((sign + NEPALI_NUMBERS[test]) +",००,०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 9999999999 return ((sign + NEPALI_NUMBERS[test]) +",००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 99999999999 return ((sign + NEPALI_NUMBERS[test]) +",०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 999999999999 return ((sign + NEPALI_NUMBERS[test]) +","+ (remaining.to_s+"."+paisa).to_rupaiya ) elsif ((num / 100000000000) >= 1) test , remaining = num.divmod(100000000000) return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 9 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 99 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 9999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 99999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 999999 return ((sign + NEPALI_NUMBERS[test]) +",००,००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 9999999 return ((sign + NEPALI_NUMBERS[test]) +",००,०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 99999999 return ((sign + NEPALI_NUMBERS[test]) +",००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 999999999 return ((sign + NEPALI_NUMBERS[test]) +",०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 9999999999 return ((sign + NEPALI_NUMBERS[test]) +","+ (remaining.to_s+"."+paisa).to_rupaiya ) elsif ((num / 1000000000) >= 1) test , remaining = num.divmod(1000000000) return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 9 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 99 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 9999 return ((sign + NEPALI_NUMBERS[test]) +",००,००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 99999 return ((sign + NEPALI_NUMBERS[test]) +",००,०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 999999 return ((sign + NEPALI_NUMBERS[test]) +",००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 9999999 return ((sign + NEPALI_NUMBERS[test]) +",०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 99999999 return ((sign + NEPALI_NUMBERS[test]) +","+ (remaining.to_s+"."+paisa).to_rupaiya ) elsif ((num / 10000000) >= 1) test , remaining = num.divmod(10000000) return ((sign + NEPALI_NUMBERS[test]) +",००,००,००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 9 return ((sign + NEPALI_NUMBERS[test]) +",००,००,०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 99 return ((sign + NEPALI_NUMBERS[test]) +",००,००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 999 return ((sign + NEPALI_NUMBERS[test]) +",००,०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 9999 return ((sign + NEPALI_NUMBERS[test]) +",००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 99999 return ((sign + NEPALI_NUMBERS[test]) +",०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 999999 return ((sign + NEPALI_NUMBERS[test]) +","+ (remaining.to_s+"."+paisa).to_rupaiya ) elsif ((num / 100000) >= 1) test , remaining = num.divmod(100000) return ((sign + NEPALI_NUMBERS[test]) +",००,००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 9 return ((sign + NEPALI_NUMBERS[test]) +",००,०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 99 return ((sign + NEPALI_NUMBERS[test]) +",००,"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 999 return ((sign + NEPALI_NUMBERS[test]) +",०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 9999 return ((sign + NEPALI_NUMBERS[test]) +","+ (remaining.to_s+"."+paisa).to_rupaiya ) elsif ((num / 1000) >= 1) test , remaining = num.divmod(1000) return ((sign + NEPALI_NUMBERS[test]) +",००"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 9 return ((sign + NEPALI_NUMBERS[test]) +",०"+ (remaining.to_s+"."+paisa).to_rupaiya) if remaining <= 99 return ((sign + NEPALI_NUMBERS[test]) +","+ (remaining.to_s+"."+paisa).to_rupaiya) end num, remaining = num.divmod(100) #return (sign + NEPALI_NUMBERS[num] +"," + (remaining.to_s+"."+paisa).to_rupaiya ) if remaining <=9 temp_result = (sign + NEPALI_NUMBERS[num]) + "०" + (NEPALI_NUMBERS[remaining]) else temp_result = (sign + NEPALI_NUMBERS[num]) + (NEPALI_NUMBERS[remaining]) end result = temp_result + " ।" + paisa.to_i.to_rupaiya # result = sign + result.reverse.join("").rstrip + "." + paisa.to_i.to_rupaiya #result = sign + result + "." + paisa.to_i.to_rupaiya return result end end
to_rupees()
click to toggle source
# File lib/torupees.rb, line 7 def to_rupees decimalcheck = self.to_s.index('.') paisa = self.to_s[decimalcheck+1 .. decimalcheck+2 ] if decimalcheck != nil if (self.to_rupaiya == false ) result = "Impossible Number | Check your Input" elsif (self.to_i <=100 && decimalcheck == nil || paisa.to_i == 0) result = self.to_s.to_rupaiya + " ।०" else result = self.to_s.to_rupaiya end result = result.gsub("।० ।०",'।०') return result end