숫자를 단어로 변환 C #
중복 가능성 :
정수를 구두 표현으로 어떻게 변환 할 수 있습니까?
누구든지 숫자를 단어로 변환하는 데 사용할 수있는 입문서 코드를 줄 수 있습니까?
숫자를 단어로 변환 (-1000에서 +1000 범위) 예 : 1000-> 1000
public static string NumberToWords(int number)
{
if (number == 0)
return "zero";
if (number < 0)
return "minus " + NumberToWords(Math.Abs(number));
string words = "";
if ((number / 1000000) > 0)
{
words += NumberToWords(number / 1000000) + " million ";
number %= 1000000;
}
if ((number / 1000) > 0)
{
words += NumberToWords(number / 1000) + " thousand ";
number %= 1000;
}
if ((number / 100) > 0)
{
words += NumberToWords(number / 100) + " hundred ";
number %= 100;
}
if (number > 0)
{
if (words != "")
words += "and ";
var unitsMap = new[] { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };
var tensMap = new[] { "zero", "ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety" };
if (number < 20)
words += unitsMap[number];
else
{
words += tensMap[number / 10];
if ((number % 10) > 0)
words += "-" + unitsMap[number % 10];
}
}
return words;
}
이 문제를 해결해야 할 때 저는 숫자와 관련 단어를 매핑하기 위해 하드 코딩 된 데이터 사전을 만들었습니다. 예를 들어, 다음은 사전의 몇 가지 항목을 나타낼 수 있습니다.
{1, "one"}
{2, "two"}
{30, "thirty"}
You really only need to worry about mapping numbers in the 10^0 (1,2,3, etc.) and 10^1 (10,20,30) positions because once you get to 100, you simply have to know when to use words like hundred, thousand, million, etc. in combination with your map. For example, when you have a number like 3,240,123, you get: three million two hundred forty thousand one hundred twenty three.
After you build your map, you need to work through each digit in your number and figure out the appropriate nomenclature to go with it.
참고URL : https://stackoverflow.com/questions/2729752/converting-numbers-in-to-words-c-sharp
'Nice programing' 카테고리의 다른 글
Rails의 모든 테이블에서 모든 데이터를 삭제하는 방법은 무엇입니까? (0) | 2020.12.02 |
---|---|
ngclick에서 마우스 포인터 변경 (0) | 2020.12.02 |
동적 생성 옵션에서 옵션 "선택"속성 설정 (0) | 2020.12.02 |
Spring MVC UTF-8 인코딩 (0) | 2020.12.02 |
AppEngine 오류 [java.lang.NoClassDefFoundError : org / w3c / dom / ElementTraversal] (0) | 2020.12.02 |