Module: FarsiFu

Defined in:
lib/farsifu.rb,
lib/farsifu/convert.rb,
lib/farsifu/version.rb,
lib/farsifu/constants.rb,
lib/farsifu/num_to_word.rb,
lib/farsifu/word_to_num.rb

Overview

:title: Farsifu

Defined Under Namespace

Classes: Convert, NumToWord, WordToNum

Constant Summary collapse

VERSION =
"0.4.0"
PERSIAN_CHARS =
"۱۲۳۴۵۶۷۸۹۰،؛"
ENGLISH_CHARS =
"1234567890,;"
PERSIAN_DIGIT_JOINT =
" و "
PERSIAN_DIGIT_SIGN =
["منفی ", "مثبت ", " ممیز "]
PERSIAN_DIGIT_SPELL =
{
  0          => [ nil ,"یک","دو","سه","چهار","پنج","شش","هفت","هشت","نه", "صفر"] ,
  1          => [ nil ,"ده","بیست","سی","چهل","پنجاه","شصت","هفتاد","هشتاد","نود"],
  2          => [ nil ,"صد","دویست","سیصد","چهارصد","پانصد","ششصد","هفتصد","هشتصد","نهصد"],
  "10..19"   => [ "ده" ,"یازده","دوازده","سیزده","چهارده","پانزده","شانزده","هفده","هجده","نوزده"],
  "zillion"  => [ nil ,"هزار","میلیون","میلیارد","بیلیون","تریلیون","کوادریلیون","کوینتیلیون","سیکستیلیون","سپتیلیون","اکتیلیون","نونیلیون","دسیلیون"],
  "decimals" => [ nil, "دهم", "صدم", "هزارم", "ده‌هزارم", "صدهزارم", "میلیونیم", "ده‌میلیونیم","صدمیلیونیم","میلیاردیم"]
}
EXCEPTIONS =
{
  "یک"        => 1,
  "دو"        => 2,
  "سه"        => 3,
  "چهار"      => 4,
  "پنج"       => 5,
  "شش"        => 6,
  "هفت"       => 7,
  "هشت"       => 8,
  "نه"        => 9,

  "یازده"     => 11,
  "دوازده"    => 12,
  "سیزده"     => 13,
  "چهارده"    => 14,
  "پانزده"    => 15,
  "شانزده"    => 16,
  "هفده"      => 17,
  "هجده"      => 18,
  "نوزده"     => 19,

  "ده"        => 10,
  "بیست"      => 20,
  "سی"        => 30,
  "چهل"       => 40,
  "پنجاه"     => 50,
  "شصت"       => 60,
  "هفتاد"     => 70,
  "هشتاد"     => 80,
  "نود"       => 90,

  "صد"        => 100,
  "دویست"     => 200,
  "سیصد"      => 300,
  "چهارصد"    => 400,
  "پانصد"     => 500,
  "ششصد"      => 600,
  "هفتصد"     => 700,
  "هشتصد"     => 800,
  "نهصد"      => 900
}
POWER_OF_TEN =
{
  # based on:
  # https://fa.wikipedia.org/wiki/%D9%86%D8%A7%D9%85_%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF_%D8%A8%D8%B2%D8%B1%DA%AF
  "صفر"           => 0,
  "ده"            => 1,
  "هزار"          => 3,
  "میلیون"        => 6,
  "میلیارد"       => 9,
  "بیلیون"        => 12,
  "بیلیارد"       => 15,
  "تریلیون"       => 18,
  "تریلیارد"      => 21,
  "کادریلیون"     => 24,
  "کادریلیارد"    => 27,
  "کوانتینیوم"    => 30,
  "کوانتینیارد"   => 33,
  "سکستیلیون"     => 36,
  "سکستیلیارد"    => 39,
  "دسیلیون"       => 42,
  "سپتیلیارد"     => 45,
  "اکتیلیون"      => 48,
  "اکتیلیارد"     => 51,
  "نانیلیون"      => 54,
  "نانیلیارد"     => 57,
  "دسیلیون"       => 60,
  "دسیلیارد"      => 63,
  "گوگول"         => 100
}