- 1402/01/17
- 0
- 67
1402/01/17
|
backend
تبدیل عدد به حروف
یک تکست باکس در ویندوز فرم دارم که میخوام با وارد کردن عدد داخل اون مقدارش به حروف داخل یک لیبل دیگر به صورت آنی به نمایش دربیاد باید چیکارکنم؟
- 1402/01/17
از کد زیر استفاده کنید:
private void textBox1_TextChanged(object sender, EventArgs e)
{
// دریافت مقدار وارد شده به تکست باکس
string inputText = textBox1.Text;
// تبدیل عدد وارد شده به حروف
string result = NumberToWords(int.Parse(inputText));
// نمایش حروف در لیبل دیگر
label1.Text = result;
}
// تابع تبدیل عدد به حروف
public static string NumberToWords(int number)
{
if (number == 0)
return "صفر";
if (number < 0)
return "منفی " + NumberToWords(Math.Abs(number));
string words = "";
if ((number / 1000000) > 0)
{
words += NumberToWords(number / 1000000) + " میلیون ";
number %= 1000000;
}
if ((number / 1000) > 0)
{
words += NumberToWords(number / 1000) + " هزار ";
number %= 1000;
}
if ((number / 100) > 0)
{
words += NumberToWords(number / 100) + " صد ";
number %= 100;
}
if (number > 0)
{
if (words != "")
words += " و ";
var unitsMap = new[] { "صفر", "یک", "دو", "سه", "چهار", "پنج", "شش", "هفت", "هشت", "نه", "ده", "یازده", "دوازده", "سیزده", "چهارده", "پانزده", "شانزده", "هفده", "هجده", "نوزده" };
var tensMap = new[] { "صفر", "ده", "بیست", "سی", "چهل", "پنجاه", "شصت", "هفتاد", "هشتاد", "نود" };
if (number < 20)
words += unitsMap[number];
else
{
words += tensMap[number / 10];
if ((number % 10) > 0)
words += " و " + unitsMap[number % 10];
}
}
return words;
}
پاسخی برای این باگ ارسال کنید
لطفا کدها را درون قطعه کد ارسال نمایید
برای ارسال پاسخ باید وارد حساب کاربری خود شوید
ورود به حساب کاربری