ခေါင်းစဉ် 53 / 63 50 မိနစ်

Type Conversion (Part -6)

ဒီသင်ခန်းစာမှာ Data Type တစ်မျိုးမှ အခြား Data Type တစ်မျိုးသို့ ပြောင်းလဲခြင်းဖြစ်သော Type Conversion အကြောင်း လေ့လာသွားမည်ဖြစ်သည်။ Implicit Conversion၊ Explicit Casting၊ Convert Class၊ Parse နှင့် TryParse တို့၏ ကွာခြားချက်များ၊ String နှင့် Number အပြန်အလှန်ပြောင်းလဲပုံ၊ User Input ကို Error မဖြစ်အောင် စစ်ဆေးလက်ခံပုံတို့ကို လက်တွေ့ C# နမူနာများဖြင့် ရှင်းလင်းထားသည်။


30. Product Total Calculator

Product Price နဲ့ Quantity ကို လုံခြုံစွာ လက်ခံပြီး Total Amount တွက်ကြည့်ရအောင်။

Console.Write("Enter product name: ");
string? productName = Console.ReadLine();

Console.Write("Enter unit price: ");
bool isPriceValid = decimal.TryParse(
    Console.ReadLine(),
    out decimal unitPrice);

Console.Write("Enter quantity: ");
bool isQuantityValid = int.TryParse(
    Console.ReadLine(),
    out int quantity);

if (isPriceValid && isQuantityValid)
{
    decimal totalAmount = unitPrice * quantity;

    Console.WriteLine();
    Console.WriteLine("===== Purchase Result =====");
    Console.WriteLine($"Product: {productName}");
    Console.WriteLine($"Unit Price: {unitPrice}");
    Console.WriteLine($"Quantity: {quantity}");
    Console.WriteLine($"Total Amount: {totalAmount}");
}
else
{
    Console.WriteLine(
        "Invalid price or quantity. Please try again.");
}

ဒီ Program မှာ—

  • Product Name ကို string အဖြစ် လက်ခံပါတယ်။
  • Price ကို decimal.TryParse() နဲ့ စစ်ဆေးပါတယ်။
  • Quantity ကို int.TryParse() နဲ့ စစ်ဆေးပါတယ်။
  • Input နှစ်ခုလုံးမှန်မှ Total Amount တွက်ပါတယ်။
  • Input မှားရင် Error မဖြစ်ဘဲ Message ပြပါတယ်။

လက်တွေ့လေ့ကျင့်ခန်း

လေ့ကျင့်ခန်း (1): Implicit Conversion

အောက်ပါ Code ရဲ့ Output ကို ခန့်မှန်းပါ။

int number = 100;
double convertedNumber = number;

Console.WriteLine(convertedNumber);

အဖြေ— ?

int ကနေ double ကို အလိုအလျောက် Implicit Conversion လုပ်ထားပါတယ်။


လေ့ကျင့်ခန်း (2): Explicit Conversion

အောက်ပါ Code ရဲ့ Output ကို ခန့်မှန်းပါ။

double price = 2500.75;
int wholePrice = (int)price;

Console.WriteLine(wholePrice);

အဖြေ— ?

Explicit Casting က ဒဿမပိုင်းကို ဖြုတ်ပစ်ပါတယ်။


လေ့ကျင့်ခန်း (3): String to Integer

အောက်ပါ String Value ကို int အဖြစ် ပြောင်းပြီး 10 ပေါင်းပါ။

string numberText = "50";

နမူနာအဖြေ—

string numberText = "50";

int number = int.Parse(numberText);
int result = number + 10;

Console.WriteLine(result);

Output— ?


လေ့ကျင့်ခန်း (4): Safe Age Input

အသုံးပြုသူဆီက အသက်ကို လက်ခံပြီး int.TryParse() နဲ့ စစ်ဆေးပါ။

နမူနာအဖြေ—

Console.Write("Enter your age: ");
string? input = Console.ReadLine();

if (int.TryParse(input, out int age))
{
    Console.WriteLine($"Your age is {age}.");
}
else
{
    Console.WriteLine("Invalid age.");
}

လေ့ကျင့်ခန်း (5): Safe Price Input

အသုံးပြုသူဆီက Product Price ကို လက်ခံပြီး decimal.TryParse() နဲ့ စစ်ဆေးပါ။

နမူနာအဖြေ—

Console.Write("Enter product price: ");
string? input = Console.ReadLine();

if (decimal.TryParse(input, out decimal price))
{
    Console.WriteLine($"Product Price: {price}");
}
else
{
    Console.WriteLine("Invalid price.");
}

လေ့ကျင့်ခန်း (6): Error ရှာပါ

အောက်ပါ Code မှာ ဖြစ်နိုင်တဲ့ပြဿနာကို ရှင်းပြပါ။

Console.Write("Enter quantity: ");
int quantity = int.Parse(Console.ReadLine()!);

အဖြေ— ?

အသုံးပြုသူက Number မဟုတ်တဲ့စာသား၊ ဒဿမကိန်း သို့မဟုတ် Input အလွတ်ထည့်ရင် Program Error ဖြစ်နိုင်ပါတယ်။

ပိုမိုလုံခြုံတဲ့ပုံစံ—

Console.Write("Enter quantity: ");

if (int.TryParse(Console.ReadLine(), out int quantity))
{
    Console.WriteLine($"Quantity: {quantity}");
}
else
{
    Console.WriteLine("Invalid quantity.");
}

သင်ခန်းစာအနှစ်ချုပ်

ဒီသင်ခန်းစာမှာ—

  • Data Type တစ်မျိုးမှ အခြား Data Type တစ်မျိုးသို့ ပြောင်းခြင်းကို Type Conversion လို့ ခေါ်ကြောင်း
  • သေးငယ်တဲ့ Type ကနေ ပိုကြီးတဲ့ Type သို့ အလိုအလျောက်ပြောင်းခြင်းကို Implicit Conversion လို့ ခေါ်ကြောင်း
  • Programmer ကိုယ်တိုင် Casting Operator နဲ့ ပြောင်းခြင်းကို Explicit Conversion လို့ ခေါ်ကြောင်း
  • Convert Class နဲ့ Data Type အမျိုးမျိုး ပြောင်းလဲနိုင်ကြောင်း
  • Parse() နဲ့ String ကို Number၊ Boolean သို့မဟုတ် DateTime အဖြစ် ပြောင်းနိုင်ကြောင်း
  • Parse() မှာ Input မှားရင် Error ဖြစ်နိုင်ကြောင်း
  • TryParse() က Conversion အောင်မြင်မှုကို true သို့မဟုတ် false ပြန်ပေးကြောင်း
  • User Input များအတွက် TryParse() အသုံးပြုတာ ပိုလုံခြုံကြောင်း
  • ToString() နဲ့ Data များကို String အဖြစ် ပြောင်းနိုင်ကြောင်း

တို့ကို လေ့လာခဲ့ပါတယ်။

Progress သိမ်းလိုပါက Login ဝင်ပါ။ Login မဝင်ဘဲလည်း ခေါင်းစဉ်အားလုံးကို လေ့လာနိုင်ပါသည်။