किसी अंक (0-9) को दर्शाने वाले वर्ण को उसके पूर्णांक समकक्ष में बदलना C# में एक बारंबार कार्य है। यह लेख चार कुशल विधियों का पता लगाता है, उनकी ताकत और कमजोरियों को उजागर करता है ताकि आप अपने विशिष्ट परिदृश्य के लिए सर्वोत्तम दृष्टिकोण चुन सकें।
विषय-सूची
- ‘0’ घटाना
char.GetNumericValue()
का उपयोग करनाchar.GetDecimalDigitValue()
का उपयोग करनाint.Parse()
का उपयोग करना
‘0’ घटाना
यह विधि ASCII और यूनिकोड में वर्णों के क्रमिक क्रम का शोषण करती है। किसी अंक वर्ण से ‘0’ वर्ण को घटाने पर सीधे उसका पूर्णांक समकक्ष प्राप्त होता है। यह संक्षिप्त और अत्यधिक कुशल है लेकिन केवल ASCII अंकों (‘0’ से ‘9’) तक सीमित है।
using System;
public class CharToIntConversion
{
public static void Main(string[] args)
{
char digitChar = '3';
if (char.IsDigit(digitChar))
{
int intValue = digitChar - '0';
Console.WriteLine($"The integer value of '{digitChar}' is: {intValue}");
}
else
{
Console.WriteLine($"'{digitChar}' is not a digit.");
}
}
}
char.GetNumericValue()
का उपयोग करना
char.GetNumericValue()
विधि विभिन्न यूनिकोड श्रेणियों से अंकों को संभालते हुए, मजबूत रूपांतरण प्रदान करती है। हालाँकि, यह एक double
देता है, जिसके लिए int
में कास्ट करने की आवश्यकता होती है, और गैर-संख्यात्मक वर्णों के लिए -1 देता है।
using System;
public class CharToIntConversion
{
public static void Main(string[] args)
{
char digitChar = '7';
double numericValue = char.GetNumericValue(digitChar);
if (numericValue != -1)
{
int intValue = (int)numericValue;
Console.WriteLine($"The integer value of '{digitChar}' is: {intValue}");
}
else
{
Console.WriteLine($"'{digitChar}' is not a numeric character.");
}
}
}
char.GetDecimalDigitValue()
का उपयोग करना
GetNumericValue()
के समान, लेकिन विशेष रूप से दशमलव अंकों (0-9) के लिए। यह सीधे एक int
देता है और यदि इनपुट दशमलव अंक नहीं है तो -1 देता है, जिससे यह कुशल और सरल हो जाता है।
using System;
public class CharToIntConversion
{
public static void Main(string[] args)
{
char digitChar = '9';
int intValue = char.GetDecimalDigitValue(digitChar);
if (intValue != -1)
{
Console.WriteLine($"The integer value of '{digitChar}' is: {intValue}");
}
else
{
Console.WriteLine($"'{digitChar}' is not a decimal digit.");
}
}
}
int.Parse()
का उपयोग करना
int.Parse()
एक स्ट्रिंग प्रतिनिधित्व को पूर्णांक में परिवर्तित करता है। हालाँकि एकल वर्णों के लिए यह कम कुशल लगता है, लेकिन स्ट्रिंग को संभालते समय या मजबूत त्रुटि हैंडलिंग की आवश्यकता होने पर यह फायदेमंद है। यदि इनपुट एक मान्य पूर्णांक नहीं है तो यह एक FormatException
देता है।
using System;
public class CharToIntConversion
{
public static void Main(string[] args)
{
char digitChar = '5';
try
{
int intValue = int.Parse(digitChar.ToString());
Console.WriteLine($"The integer value of '{digitChar}' is: {intValue}");
}
catch (FormatException)
{
Console.WriteLine($"'{digitChar}' is not a valid integer.");
}
}
}
इष्टतम विधि आपके संदर्भ पर निर्भर करती है। साधारण ASCII अंकों के लिए, ‘0’ को घटाना सबसे तेज़ है। व्यापक यूनिकोड समर्थन और त्रुटि हैंडलिंग के लिए, GetNumericValue()
या GetDecimalDigitValue()
बेहतर हैं। int.Parse()
सबसे मजबूत त्रुटि हैंडलिंग प्रदान करता है लेकिन एकल वर्णों के लिए सबसे कम कुशल है। हमेशा संभावित त्रुटियों को उचित रूप से संभालें।