How to convert numeric value into words in c#????plz suggest
me the coding of this question???
Answer Posted / narendran
public class Convertor
{
#region Dec - Arrays
private string[] arrOnes = new string[] {
"Zero",
"One",
"Two",
"Three",
"Four",
"Five",
"Six",
"Seven",
"Eight",
"Nine"
};
private string[] arrMisc = new string[] {
"",
"Eleven",
"Twelve",
"Thirteen",
"Fourteen",
"Fifteen",
"Sixteen",
"Seventeen",
"Eighteen",
"Nineteen",
};
private string[] arrTens = new string[] {
"",
"Ten",
"Twenty",
"Thirty",
"Forty",
"Fifty",
"Sixty",
"Seventy",
"Eighty",
"Ninety",
};
#endregion
#region Constants
private const string HUNDRED_TEXT = " Hundred";
private const string THOUSAND_TEXT = " Thousand";
private const string LAKH_TEXT = " Lakh";
private const string AND_TEXT = " and ";
private const string POINT_TEXT = " point ";
private const string TOO_HIGH_TEXT = "Too high value";
private const int ONE = 1;
private const int TEN = 2;
private const int HUNDRED = 3;
private const int THOUSAND = 4;
private const int TENTHOUSAND = 5;
private const int LAKH = 6;
private const int TENLAKH = 7;
private const int MAX_ALLOWED_LENGTH = TENLAKH;
public const int ERR_TOOLENGTH = -1;
public const int ERR_INPUT = -2;
public const int RET_SUCCESS = 0;
#endregion
public int ConvertNumberToText(String sNumber, out
string sResult)
{
sResult = "";
string[] str = sNumber.Split(new char[] { '.' });
string sStrAfterDecimal = str.Length > 1 ?
str[1] : "";
string sStrBeforeDecimal = str.Length >= 1 ?
str[0] : "";
if (sStrBeforeDecimal.Length > MAX_ALLOWED_LENGTH)
{
sResult = TOO_HIGH_TEXT;
return ERR_TOOLENGTH;
}
if (GetNuumberText(sStrBeforeDecimal, false, ref
sResult) == RET_SUCCESS)
{
if (sStrAfterDecimal != "")
{
sResult += POINT_TEXT;
if (GetNuumberText(sStrAfterDecimal,
true, ref sResult) != RET_SUCCESS)
{
sResult = "Error while computing..";
return ERR_INPUT;
}
}
return RET_SUCCESS;
}
else
{
sResult = "Error while computing..";
return ERR_INPUT;
}
}
private int GetNuumberText(string str, bool
isAfterDecimal, ref string retStr)
{
bool addAndString = false;
try
{
if (isAfterDecimal && str.Length >= 1)
{
for (int i = 0; i < str.Length; i++)
retStr +=
arrOnes[int.Parse(str[i].ToString())] + " ";
retStr = retStr.Remove(retStr.Length - 1);
}
else
{
while (str.Length > 0)
{
switch (str.Length)
{
case ONE:
retStr +=
arrOnes[int.Parse(str[0].ToString())];
str = "";
break;
case TEN:
{
string temp =
GetTwoDigitString(str);
if (temp != "")
retStr +=
addAndString ? AND_TEXT + temp : temp;
str = "";
}
break;
case HUNDRED:
if (str[0] != '0')
retStr +=
string.Format("{0}{1}",
arrOnes[int.Parse(str[0].ToString())], HUNDRED_TEXT);
if (str.Substring(1) != "00")
addAndString = true;
str = str.Remove(0, 1);
break;
case THOUSAND:
retStr +=
string.Format("{0}{1} ",
arrOnes[int.Parse(str[0].ToString())], THOUSAND_TEXT);
str = str.Remove(0, 1);
break;
case TENTHOUSAND:
{
string temp =
GetTwoDigitString(str.Substring(0, 2));
if (temp != "")
retStr +=
string.Format("{0}{1} ", temp, THOUSAND_TEXT);
str = str.Remove(0, 2);
}
break;
case LAKH:
retStr +=
string.Format("{0}{1} ",
arrOnes[int.Parse(str[0].ToString())], LAKH_TEXT);
str = str.Remove(0, 1);
break;
case TENLAKH:
{
string temp =
GetTwoDigitString(str.Substring(0, 2));
if (temp != "")
retStr +=
string.Format("{0}{1} ", temp, LAKH_TEXT);
str = str.Remove(0, 2);
}
break;
default:
break;
}
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return ERR_INPUT;
}
return RET_SUCCESS;
}
private string GetTwoDigitString(string str)
{
if (str == "00") return "";
string retString = "";
if (str[1] == '0')
retString +=
arrTens[int.Parse(str[0].ToString())];
else if (str[0] == '1')
retString +=
arrMisc[int.Parse(str[1].ToString())];
else
{
retString +=
arrTens[int.Parse(str[0].ToString())];
retString +=
arrOnes[int.Parse(str[1].ToString())];
}
return retString;
}
}
| Is This Answer Correct ? | 10 Yes | 1 No |
Post New Answer View All Answers
write a sql qwery which include joining of two tables 4 marks mainframe
what is class module in vb6? what it's use? with example..
Given an array of size n. It contains numbers in the range 1 to n. Each number is present at least once except for 2 numbers. Find the missing numbers.
Compare any 4 software development life cycle paradigms with each other. Indicate at least one application for each of the paradigms that are suitable to developed using that paradigm.
what are the activities you enjoy most and How do you see these Developing in the Future with Reference to in your work life and in your personal life
Given a cube of size n*n*n (i.e made up of n^3 smaller cubes), find the number of smaller cubes on the surface. Extend this to k-dimension.
THERE ARE 4 SOURCE FILES WHICH CONTAINS SAME METADATA CREATE A TARGET THAT SHOULD DISPLAY THE FILE NAME ALONG WITH THE RECORD PLEASE SEND THE ANSWERFOR THIS QUESTION WITH MAPPING
what is the system development cycle
how to stop execution of step 3 in a job mainframe
when a query is made on Logical file in DB2/400, will the records satisfying select/omit criterion be fetched from all members of physical file or only the member with same name as physical file?
hi i am jyoti i have done sap training in sd and master degree in economics have 2 year exp as enduser in (gdms)and 1 year as sd consultant.as contract basis now what i can do for getting job in it industry
Can anyone send me NIC question papers alongwith answers on nidhi1485@yahoo.co.in? Urgently needed.. Thanks in advance
how do you generate source code for the automatic generation for receipt number
Explain with examples any 2 features of OOPS.
How will you prove that java swing is multithreaded?