Click here to Skip to main content
15,512,456 members
Articles / Programming Languages / XSLT
Posted 2 Jul 2009

Tagged as


4 bookmarked

XSLT Number to String Transformation II

Rate me:
Please Sign up or sign in to vote.
3.67/5 (4 votes)
17 Jul 2009CPOL2 min read
XSLT Number to String Transformation for Hindi Language


This is just an addition to the previous version of this XSLT transformation. It is in Hindi, so perhaps some of the international developers not familiar with Hindi language may find it difficult to understand the result.


People unfamiliar with India’s traditional numbering system may find this challenging. The system used in India, Pakistan, and Bangladesh is based on a unique grouping of two decimal places, rather than three decimal places common in the West. During business dealings in India, people are likely to come across the numerical terms Arab, Crore, and Lakh (see table below), although the higher numbers listed are rarely used. These more common words are often used in combination, e.g., one Lakh Crore, which is 1012, or one trillion. The terms Padma and Kharab are sometimes used in Hindi.

India’s Unique Number System

Term Figure

No of zeros

Western system (short-scale)

लाख 1,00,000


100000 (100 thousand)

करोड़ 1,00,00,000


10,000,000 (Ten million)

अरब़ 1,00,00,00,000


1,000,000,000 (One billion)

खरब 1,00,00,00,00,000


100,000,000,000 (100 billion)

नील 1,00,00,00,00,00,000


10,000,000,000,000 (10 trillion)

पद्‌म 1,00,00,00,00,00,00,000


1,000,000,000,000,000 (One quadrillion)

शंख 1,00,00,00,00,00,00,00,000


100,000,000,000,000,000 (100 quadrillion)

महाशंख 1,00,00,00,00,00,00,00,00,000


10,000,000,000,000,000,000 (10 quintillion) 

Using the Code

Make your XML document as in the specified format given below. Put a stylesheet reference to your XML and open the XML in a web browser (in this XML, # represents a digit):

<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="TransformNumber.xslt" ?>

Points of Interest

The XSLT file in this project can help you understand calling recursive templates, and also gives an idea about how to use in-built functions. We can use this as a base and can design our own XSLT for the English number system translation.

<form id=""aspnetForm"" name=""aspnetForm"" action=""displayarticle.aspx"" />


This is a follow up for a previous version of the article.


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

Written By
Team Leader M*Modal
India India
Started carreer with CEERI, Delhi, India as a C Programmer in 2004 and migrated my learning experiance to C#.Net in 2005 with DIGISIGN Noida, Joined Bally in 2006, worked with JK Technosoft since Jun 2007 till Apr 2009, joined back Bally in June 2009 and joined Misys in June 2010. Worked in different domains such as Casino Management, Digital Signage, and Medical and currently working M*Modal as Lead - Product Development.

Comments and Discussions

GeneralMy vote of 1 Pin
pita20002-Jul-09 22:34
pita20002-Jul-09 22:34 
GeneralShould have been better if... Pin
Priyank Bolia2-Jul-09 21:22
Priyank Bolia2-Jul-09 21:22 
GeneralRe: Should have been better if... Pin
Mahendra Kumar Srivastava17-Jul-09 1:24
Mahendra Kumar Srivastava17-Jul-09 1:24 
GeneralRe: Should have been better if... Pin
Priyank Bolia17-Jul-09 1:39
Priyank Bolia17-Jul-09 1:39 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.