
نوشته شده توسط
safari_m4
سلام وقت بخیر و خسته نباشید چطوری می توانیم مبلغی که بصورت ریال می باشد را به حروف بصورت تومان نمایش بدهیم مثلا 1000000ریال بحروف آن یکصد هزار تومان با تشکر و سپاس
تبدیل مبلغ ریال به تومن و همچنین تبدیل عدد به حروف در C# بدون استفاده از کتابخانههای آماده، میتوانید کدی مشابه کتابخانههای موجود بنویسید. در اینجا یک نمونه کد برای این کار آمده است:
csharp
Copy code
using System;
class Program
{
static void Main()
{
long amountInRials = 1000000; // مبلغ ریالی مورد نظر
// تبدیل مبلغ به تومان (به ازای هر 10 ریال یک تومان)
long amountInToman = amountInRials / 10;
// تبدیل مبلغ به حروف
string amountInWords = ConvertNumberToWords(amountInToman);
// نمایش مبلغ به حروف تومان
Console.WriteLine($"مبلغ به حروف تومان: {amountInWords}");
}
// تابع تبدیل عدد به حروف
static string ConvertNumberToWords(long number)
{
string[] units = { "", "یک", "دو", "سه", "چهار", "پنج", "شش", "هفت", "هشت", "نه", "ده", "یازده", "دوازده", "سیزده", "چهارده", "پانزده", "شانزده", "هفده", "هجده", "نوزده" };
string[] tens = { "", "ده", "بیست", "سی", "چهل", "پنجاه", "شصت", "هفتاد", "هشتاد", "نود" };
string[] hundreds = { "", "صد", "دویست", "سیصد", "چهارصد", "پانصد", "ششصد", "هفتصد", "هشتصد", "نهصد" };
if (number == 0)
return "صفر";
if (number < 0)
return "منفی " + ConvertNumberToWords(Math.Abs(number));
string words = "";
if ((number / 1000000) > 0)
{
words += ConvertNumberToWords(number / 1000000) + " میلیون ";
number %= 1000000;
}
if ((number / 1000) > 0)
{
words += ConvertNumberToWords(number / 1000) + " هزار ";
number %= 1000;
}
if ((number / 100) > 0)
{
words += ConvertNumberToWords(number / 100) + " صد ";
number %= 100;
}
if (number > 0)
{
if (words != "")
words += "و ";
if (number < 20)
words += units[number];
else
{
words += tens[number / 10];
if ((number % 10) > 0)
words += " و " + units[number % 10];
}
}
return words;
}
}
در این کد، مبلغ ریالی را به تومان تبدیل کرده و سپس تابع ConvertNumberToWords را برای تبدیل عدد به حروف استفاده کردهایم. این کد میتواند مبلغ را به حروف تومان تبدیل کند و نتیجه را نمایش دهد. برای مثال، برای مبلغ 1,000,000 ریال، خروجی "یکصد هزار تومان" خواهد بود.