# Convert Number to Words in Indian Currency Format in Python

The following example shows, how to convert number to words in Indian currency format with paisa value.

```def number_to_word(number):
def get_word(n):
words={ 0:"", 1:"One", 2:"Two", 3:"Three", 4:"Four", 5:"Five", 6:"Six", 7:"Seven", 8:"Eight", 9:"Nine", 10:"Ten", 11:"Eleven", 12:"Twelve", 13:"Thirteen", 14:"Fourteen", 15:"Fifteen", 16:"Sixteen", 17:"Seventeen", 18:"Eighteen", 19:"Nineteen", 20:"Twenty", 30:"Thirty", 40:"Forty", 50:"Fifty", 60:"Sixty", 70:"Seventy", 80:"Eighty", 90:"Ninty" }
if n<=20:
return words[n]
else:
ones=n%10
tens=n-ones
return words[tens]+" "+words[ones]

def get_all_word(n):
d=[100,10,100,100]
v=["","Hundred And","Thousand","lakh"]
w=[]
for i,x in zip(d,v):
t=get_word(n%i)
if t!="":
t+=" "+x
w.append(t.rstrip(" "))
n=n//i
w.reverse()
w=' '.join(w).strip()
if w.endswith("And"):
w=w[:-3]
return w

arr=str(number).split(".")
number=int(arr[0])
crore=number//10000000
number=number%10000000
word=""
if crore>0:
word+=get_all_word(crore)
word+=" crore "
word+=get_all_word(number).strip()+" Rupees"
if len(arr)>1:
if len(arr[1])==1:
arr[1]+="0"
word+=" and "+get_all_word(int(arr[1]))+" paisa"
return word

print(number_to_word(12345))
print(number_to_word(123.45))
print(number_to_word(1234678910))
```
Output:
Twelve Thousand Three Hundred And Forty Five Rupees

One Hundred And Twenty Three Rupees and Forty Five paisa

One Hundred And Twenty Three crore Forty Six lakh Seventy Eight Thousand Nine Hundred And Ten Rupees