stringVar array HundredHindiDigitArray := ["एक", "दो", "तीन", "चार", "पाँच", "छह", "सात", "आठ", "नौ", "दस","ग्यारह", "बारह", "तेरह", "चौदह", "पन्द्रह", "सोलह", "सत्रह", "अठारह", "उन्नीस", "बीस",
"इक्कीस", "बाईस", "तेईस", "चौबीस", "पच्चीस", "छब्बीस", "सत्ताईस", "अट्ठाईस", "उनतीस", "तीस", "इकतीस", "बत्तीस", "तैंतीस", "चौंतीस", "पैंतीस", "छत्तीस", "सैंतीस", "अड़तीस", "उनतालीस", "चालीस",
"इकतालीस", "बयालीस", "तैंतालीस", "चौवालीस", "पैंतालीस", "छियालीस", "सैंतालीस", "अड़तालीस", "उनचास", "पचास","इक्यावन", "बावन", "तिरेपन", "चौवन", "पचपन", "छप्पन", "सत्तावन", "अट्ठावन", "उनसठ", "साठ",
"इकसठ", "बासठ", "तिरेसठ", "चौंसठ", "पैंसठ", "छियासठ", "सड़सठ", "अड़सठ", "उनहत्तर", "सत्तर", "इकहत्तर", "बहत्तर", "तिहत्तर", "चौहत्तर", "पचहत्तर", "छिहत्तर", "सतहत्तर", "अठहत्तर", "उनासी", "अस्सी",
"इक्यासी", "बयासी", "तिरासी", "चौरासी", "पचासी", "छियासी", "सत्तासी", "अट्ठासी", "नवासी", "नब्बे", "इक्यानबे", "बानबे", "तिरानबे", "चौरानबे", "पंचानबे", "छियानबे", "सत्तानबे", "अट्ठानबे", "निन्यानबे"];
stringVar array HigherDigitHindiNumberArray := ["", "", "सौ", "हजार", "लाख", "करोड़", "अरब", "खरब", "नील"];
stringVar array HigherDigitSouthAsianStringArray := ["", "", "Hundred", "Thousand", "Lakh", "Karod", "Arab", "Kharab", "Neel"];
stringVar array SouthAsianCodeArray := ["1", "22", "3", "4", "42", "5", "52", "6", "62", "7", "72", "8", "82", "9", "92"];
stringVar array EnglishCodeArray := ["1", "22", "3"];
stringVar array SingleDigitStringArray := ["", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten"];
stringVar array DoubleDigitsStringArray := ["", "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"];
stringVar array TenthDigitStringArray := ["Ten", "Eleven", "Tweleve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"];
Local stringVar result := "";
stringVar amountString := ToText({@TTotal});
amountString := Replace(amountString,"," ,"" );
if ToNumber({@TTotal}) = 0 then
(
result := "शून्य";
)
else if Length (amountString) > 15 then
(
result := "राशि बहुत लंबा है...";
)
else
(
NumberVar digit :=0;
stringVar separator := "";
stringVar higherDigitHindiString := "";
stringVar codeIndex := "";
stringVar preAmountString := Split (amountString,"." )[1];
stringVar postAmountString := Split (amountString,"." )[2];
NumberVar i := Length (preAmountString);
NumberVar j :=0;
for i := Length (preAmountString) to 1 step -1 do
(
j := Length (preAmountString) - i;
digit := ToNumber(MID(preAmountString, j+1, 1));
codeIndex := SouthAsianCodeArray[i - 0];
higherDigitHindiString := HigherDigitHindiNumberArray[ToNumber(MID(codeIndex,1,1)) - 0];
if codeIndex = "1" Then //Number [1, 9]
result := result + separator + HundredHindiDigitArray[digit]
else if Length(codeIndex) = 2 and digit <> 0 Then //Number in tenth place and skip if digit is 0
(
i := i - 1;
NumberVar suffixDigit :=ToNumber(MID(preAmountString, j+2 ,1));
NumberVar wholeTenthPlaceDigit :=digit * 10 + suffixDigit;
result := result + separator + HundredHindiDigitArray[wholeTenthPlaceDigit] + " " + higherDigitHindiString;
)
else if digit <> 0 Then //Standard Number like 100, 1000, 1000000 and skip if digit is 0
result := result + separator + HundredHindiDigitArray[digit] + " " + higherDigitHindiString;
separator := " ";
);
result := result + " रुपये";
i := Length (preAmountString);
j :=0;
if Length (postAmountString) > 0 and ToNumber(postAmountString) > 0 then
(
result := result + " और ";
for i := Length (postAmountString) to 1 step -1 do
(
j := Length (postAmountString) - i;
digit := ToNumber(MID(postAmountString, j+1, 1));
if digit <> 0 and Length (postAmountString) > 1 then
(
i := i - 1;
NumberVar suffixDigit :=ToNumber(MID(postAmountString, j+2 ,1));
NumberVar wholeTenthPlaceDigit :=digit * 10 + suffixDigit;
result := result + separator + HundredHindiDigitArray[wholeTenthPlaceDigit] + " पैसे"
)
else if digit = 0 and Length (postAmountString) > 1 then
(
i := i - 1;
NumberVar suffixDigit :=ToNumber(MID(postAmountString, j+2 ,1));
NumberVar wholeTenthPlaceDigit :=suffixDigit;
result := result + separator + HundredHindiDigitArray[wholeTenthPlaceDigit] + " पैसे"
);
separator := " ";
);
);
result := result + " मात्र";
);
Replace(result," " ," " );
Comments
Post a Comment