Click here to Skip to main content
13,044,115 members (83,581 online)
Rate this:
Please Sign up or sign in to vote.
See more:
i am using towords() function to convert amount to words


i am getting output like "six thousand four hundred "

but i want with decimal also

if value goes like this 6400.75 then i neeed

"six thousand four hundred and seventy paise"
Posted 19-Mar-13 23:36pm

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1


try like below.
Towords(truncate(6400.75), 0) + " Rupees and " + towords(abs(100 * (truncate(6400.75)- 6400.75)), 0) + "Paise";

result is: six thousand four hundred Rupees and seventy five paise

The first part i.e.
Towords(truncate(6400.75), 0) 

returns 6400, and will ignore the decimal place.

Second part i.e.
(abs(100 * (6400.75 - truncate(6400.75))

converts it to a positive value and multiplies the value to be non decimal.

If you have more decimal places you'll have to adjust the 100 multiplier.

hope it helps.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy | Mobile
Web02 | 2.8.170713.1 | Last Updated 20 Mar 2013
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100