module ToNepali
Constants
- NEPALI_NUMBERS
- SMALL_NUMBERS
- VERSION
Public Instance Methods
check_sign(num)
click to toggle source
# File lib/tonepali.rb, line 136 def check_sign(num) return num < 0 ? ([num.abs, '-']) : ([num, '']) end
to_nepali()
click to toggle source
# File lib/tonepali.rb, line 6 def to_nepali 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 paisa = "0" end num = self.to_i num, sign = check_sign(num) #return "०" if num == 0 && paisa =="" #return "००" if num == 0 return (sign + NEPALI_NUMBERS[num]) if num <= 100 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_nepali) if remaining <= 9 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,००,००,०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 99 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,००,००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,००,०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 9999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 99999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 999999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 9999999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 99999999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 999999999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 9999999999 return ((sign + NEPALI_NUMBERS[test]) +",००,००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 99999999999 return ((sign + NEPALI_NUMBERS[test]) +",००,०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 999999999999 return ((sign + NEPALI_NUMBERS[test]) +",००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 9999999999999 return ((sign + NEPALI_NUMBERS[test]) +",०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 99999999999999 return ((sign + NEPALI_NUMBERS[test]) +","+ (remaining.to_s+ "."+ paisa).to_nepali ) elsif ((num / 10000000000000) >= 1) test , remaining = num.divmod(10000000000000) return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,००,००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 9 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,००,०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 99 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 9999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 99999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 999999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 9999999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 99999999 return ((sign + NEPALI_NUMBERS[test]) +",००,००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 999999999 return ((sign + NEPALI_NUMBERS[test]) +",००,०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 9999999999 return ((sign + NEPALI_NUMBERS[test]) +",००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 99999999999 return ((sign + NEPALI_NUMBERS[test]) +",०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 999999999999 return ((sign + NEPALI_NUMBERS[test]) +","+ (remaining.to_s+"."+paisa).to_nepali ) elsif ((num / 100000000000) >= 1) test , remaining = num.divmod(100000000000) return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 9 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००,०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 99 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 9999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 99999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 999999 return ((sign + NEPALI_NUMBERS[test]) +",००,००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 9999999 return ((sign + NEPALI_NUMBERS[test]) +",००,०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 99999999 return ((sign + NEPALI_NUMBERS[test]) +",००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 999999999 return ((sign + NEPALI_NUMBERS[test]) +",०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 9999999999 return ((sign + NEPALI_NUMBERS[test]) +","+ (remaining.to_s+"."+paisa).to_nepali ) elsif ((num / 1000000000) >= 1) test , remaining = num.divmod(1000000000) return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 9 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००,०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 99 return ((sign + NEPALI_NUMBERS[test]) +",००,००,००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 999 return ((sign + NEPALI_NUMBERS[test]) +",००,००,०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 9999 return ((sign + NEPALI_NUMBERS[test]) +",००,००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 99999 return ((sign + NEPALI_NUMBERS[test]) +",००,०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 999999 return ((sign + NEPALI_NUMBERS[test]) +",००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 9999999 return ((sign + NEPALI_NUMBERS[test]) +",०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 99999999 return ((sign + NEPALI_NUMBERS[test]) +","+ (remaining.to_s+"."+paisa).to_nepali ) elsif ((num / 10000000) >= 1) test , remaining = num.divmod(10000000) return ((sign + NEPALI_NUMBERS[test]) +",००,००,००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 9 return ((sign + NEPALI_NUMBERS[test]) +",००,००,०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 99 return ((sign + NEPALI_NUMBERS[test]) +",००,००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 999 return ((sign + NEPALI_NUMBERS[test]) +",००,०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 9999 return ((sign + NEPALI_NUMBERS[test]) +",००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 99999 return ((sign + NEPALI_NUMBERS[test]) +",०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 999999 return ((sign + NEPALI_NUMBERS[test]) +","+ (remaining.to_s+"."+paisa).to_nepali ) elsif ((num / 100000) >= 1) test , remaining = num.divmod(100000) return ((sign + NEPALI_NUMBERS[test]) +",००,००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 9 return ((sign + NEPALI_NUMBERS[test]) +",००,०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 99 return ((sign + NEPALI_NUMBERS[test]) +",००,"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 999 return ((sign + NEPALI_NUMBERS[test]) +",०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 9999 return ((sign + NEPALI_NUMBERS[test]) +","+ (remaining.to_s+"."+paisa).to_nepali ) elsif ((num / 1000) >= 1) test , remaining = num.divmod(1000) return ((sign + NEPALI_NUMBERS[test]) +",००"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 9 return ((sign + NEPALI_NUMBERS[test]) +",०"+ (remaining.to_s+"."+paisa).to_nepali) if remaining <= 99 return ((sign + NEPALI_NUMBERS[test]) +","+ (remaining.to_s+"."+paisa).to_nepali) end num, remaining = num.divmod(100) #return (sign + NEPALI_NUMBERS[num] +"," + (remaining.to_s+"."+paisa).to_nepali ) temp_result = (sign + NEPALI_NUMBERS[num]) + (SMALL_NUMBERS[remaining]) if remaining <=9 temp_result = (sign + NEPALI_NUMBERS[num] + (NEPALI_NUMBERS[remaining])) result = temp_result + "|" + paisa.to_i.to_nepali # result = sign + result.reverse.join("").rstrip + "." + paisa.to_i.to_nepali #result = sign + result + "." + paisa.to_i.to_nepali return result end end