जवाबों:
इसे इस्तेमाल करे:
int x = Int32.Parse(TextBoxD1.Text);
या बेहतर अभी तक:
int x = 0;
Int32.TryParse(TextBoxD1.Text, out x);
इसके अलावा, Int32.TryParse
रिटर्न के बाद bool
आप पार्सिंग प्रयास के परिणामों के बारे में निर्णय लेने के लिए इसके रिटर्न वैल्यू का उपयोग कर सकते हैं:
int x = 0;
if (Int32.TryParse(TextBoxD1.Text, out x))
{
// you know that the parsing attempt
// was successful
}
आप उत्सुक हैं, के बीच का अंतर Parse
और TryParse
सबसे अच्छा इस तरह अभिव्यक्त किया जाता है:
TryParse मेथड Parse मेथड की तरह है, सिवाय TryParse मेथड में कोई अपवाद नहीं फेंकता यदि कनवर्ज़न फेल हो जाता है। यह उस घटना में एक FormatException के परीक्षण के लिए अपवाद हैंडलिंग का उपयोग करने की आवश्यकता को समाप्त करता है जो कि अमान्य है और सफलतापूर्वक पार्स नहीं किया जा सकता है। - MSDN
Int64.Parse()
। यदि इनपुट गैर-अंतर है, तो आपको एक निष्पादन और स्टैक ट्रेस मिलेगा Int64.Parse
, या बूलियन के False
साथ Int64.TryParse()
, इसलिए आपको एक स्टेटमेंट की आवश्यकता होगी, जैसे if (Int32.TryParse(TextBoxD1.Text, out x)) {}
।
Convert.ToInt32( TextBoxD1.Text );
इसका उपयोग करें यदि आपको विश्वास है कि पाठ बॉक्स की सामग्री वैध है int
। एक सुरक्षित विकल्प है
int val = 0;
Int32.TryParse( TextBoxD1.Text, out val );
यह आपको कुछ डिफ़ॉल्ट मूल्य प्रदान करेगा जिनका आप उपयोग कर सकते हैं। Int32.TryParse
एक बूलियन मान भी बताता है कि यह पार्स करने में सक्षम था या नहीं, इसलिए आप इसे एक if
बयान की स्थिति के रूप में भी उपयोग कर सकते हैं ।
if( Int32.TryParse( TextBoxD1.Text, out val ){
DoSomething(..);
} else {
HandleBadInput(..);
}
int.TryParse()
यदि पाठ संख्यात्मक नहीं है, तो यह नहीं फेंकेगा।
int myInt = int.Parse(TextBoxD1.Text)
एक और तरीका होगा:
bool isConvertible = false;
int myInt = 0;
isConvertible = int.TryParse(TextBoxD1.Text, out myInt);
दोनों के बीच का अंतर यह है कि यदि आपके टेक्स्टबॉक्स में मान को परिवर्तित नहीं किया जा सकता है, तो पहला अपवाद एक अपवाद होगा, जबकि दूसरा केवल एक झूठा वापस आएगा।
code
int न्यूमेरिकजेल; बूल .Num = int.TryParse (nomeeJobBand, NumericJL से बाहर); if (isNum) // रिटायर्ड JL को int के लिए pasred करने में सक्षम है तो तुलना के लिए आगे बढ़ें {if (((NumericJL> = 6)) {// नामांकित} // बाकी {}}
आपको स्ट्रिंग को पार्स करने की आवश्यकता है, और आपको यह भी सुनिश्चित करने की आवश्यकता है कि यह वास्तव में पूर्णांक के प्रारूप में है।
सबसे आसान तरीका यह है:
int parsedInt = 0;
if (int.TryParse(TextBoxD1.Text, out parsedInt))
{
// Code for if the string was valid
}
else
{
// Code for if the string was invalid
}
एक char पर Convert.ToInt32 () का उपयोग करते समय सावधान रहें!
यह चरित्र का UTF-16 कोड लौटाएगा !
यदि आप [i]
अनुक्रमणिका ऑपरेटर का उपयोग करके केवल एक निश्चित स्थिति में स्ट्रिंग का उपयोग करते हैं , तो यह ए char
और नहीं लौटेगा string
!
String input = "123678";
^
|
int indexOfSeven = 4;
int x = Convert.ToInt32(input[indexOfSeven]); // Returns 55
int x = Convert.ToInt32(input[indexOfSeven].toString()); // Returns 7
int x = 0;
int.TryParse(TextBoxD1.Text, out x);
TryParse स्टेटमेंट एक बूलियन को दर्शाता है कि पार्स सफल हुआ है या नहीं। यदि यह सफल हुआ, तो पार्स किया गया मान दूसरे पैरामीटर में संग्रहीत किया जाता है।
देखें Int32.TryParse विधि (स्ट्रिंग, Int32) में अधिक विस्तृत जानकारी के लिए।
का आनंद लें...
int i = 0;
string s = "123";
i =int.Parse(s);
i = Convert.ToInt32(s);
हालांकि यहाँ पहले से ही कई समाधान हैं जो वर्णन करते हैं int.Parse
, सभी उत्तरों में कुछ महत्वपूर्ण कमी है। आमतौर पर, सांख्यिक मूल्यों के स्ट्रिंग निरूपण संस्कृति से भिन्न होते हैं। मुद्रा प्रतीकों, समूह (या हजारों) विभाजकों और दशमलव विभाजकों जैसे संख्यात्मक स्ट्रिंग के तत्व संस्कृति से भिन्न होते हैं।
यदि आप एक स्ट्रिंग को पूर्णांक में पार्स करने का एक मजबूत तरीका बनाना चाहते हैं, तो इसलिए संस्कृति की जानकारी को ध्यान में रखना महत्वपूर्ण है। यदि आप नहीं करते हैं, तो वर्तमान संस्कृति सेटिंग्स का उपयोग किया जाएगा। यदि आप फ़ाइल स्वरूपों को पार्स कर रहे हैं, तो उपयोगकर्ता को बहुत बुरा आश्चर्य हो सकता है - या इससे भी बदतर। यदि आप केवल अंग्रेजी पार्स करना चाहते हैं, तो इसका उपयोग करने के लिए संस्कृति सेटिंग्स को निर्दिष्ट करके, बस इसे स्पष्ट करना सबसे अच्छा है:
var culture = CultureInfo.GetCulture("en-US");
int result = 0;
if (int.TryParse(myString, NumberStyles.Integer, culture, out result))
{
// use result...
}
अधिक जानकारी के लिए, कल्चरइन्फो, विशेष रूप से MSFormatInfo पर MSDN पर पढ़ें ।
आप अपनी खुद की एक्सटेंशन विधि लिख सकते हैं
public static class IntegerExtensions
{
public static int ParseInt(this string value, int defaultValue = 0)
{
int parsedValue;
if (int.TryParse(value, out parsedValue))
{
return parsedValue;
}
return defaultValue;
}
public static int? ParseNullableInt(this string value)
{
if (string.IsNullOrEmpty(value))
{
return null;
}
return value.ParseInt();
}
}
और जहां भी कोड में कॉल करें
int myNumber = someString.ParseInt(); // Returns value or 0
int age = someString.ParseInt(18); // With default value 18
int? userId = someString.ParseNullableInt(); // Returns value or null
इस ठोस मामले में
int yourValue = TextBoxD1.Text.ParseInt();
StringExtensions
बजाय वर्ग को बुलाया नहीं जाना चाहिए IntegerExtensions
, क्योंकि ये विस्तार विधियां ए string
और ए पर नहीं है int
?
जैसा कि TryParse प्रलेखन में बताया गया है , TryParse () एक बूलियन देता है जो इंगित करता है कि एक वैध संख्या पाई गई थी:
bool success = Int32.TryParse(TextBoxD1.Text, out val);
if (success)
{
// Put val in database
}
else
{
// Handle the case that the string doesn't contain a valid number
}
आप या तो उपयोग कर सकते हैं,
int i = Convert.ToInt32(TextBoxD1.Text);
या
int i = int.Parse(TextBoxD1.Text);
//May be quite some time ago but I just want throw in some line for any one who may still need it
int intValue;
string strValue = "2021";
try
{
intValue = Convert.ToInt32(strValue);
}
catch
{
//Default Value if conversion fails OR return specified error
// Example
intValue = 2000;
}
आप C का उपयोग करके स्ट्रिंग को int में बदल सकते हैं:
परिवर्तित वर्ग के कार्य यानी Convert.ToInt16()
, Convert.ToInt32()
, Convert.ToInt64()
या का उपयोग करके Parse
और TryParse
कार्य। उदाहरण यहाँ दिए गए हैं ।
आप एक एक्सटेंशन विधि का उपयोग भी कर सकते हैं , इसलिए यह अधिक पठनीय होगा (हालांकि हर कोई पहले से ही नियमित पार्स कार्यों के लिए उपयोग किया जाता है)।
public static class StringExtensions
{
/// <summary>
/// Converts a string to int.
/// </summary>
/// <param name="value">The string to convert.</param>
/// <returns>The converted integer.</returns>
public static int ParseToInt32(this string value)
{
return int.Parse(value);
}
/// <summary>
/// Checks whether the value is integer.
/// </summary>
/// <param name="value">The string to check.</param>
/// <param name="result">The out int parameter.</param>
/// <returns>true if the value is an integer; otherwise, false.</returns>
public static bool TryParseToInt32(this string value, out int result)
{
return int.TryParse(value, out result);
}
}
और फिर आप इसे इस तरह से कॉल कर सकते हैं:
यदि आप सुनिश्चित हैं कि आपका स्ट्रिंग एक पूर्णांक है, जैसे "50"।
int num = TextBoxD1.Text.ParseToInt32();
यदि आप निश्चित नहीं हैं और दुर्घटनाओं को रोकना चाहते हैं।
int num;
if (TextBoxD1.Text.TryParseToInt32(out num))
{
//The parse was successful, the num has the parsed value.
}
इसे और अधिक गतिशील बनाने के लिए, ताकि आप इसे डबल, फ्लोट आदि के लिए भी पार्स कर सकें, आप एक सामान्य विस्तार कर सकते हैं।
के रूपांतरण string
के लिए int
के लिए किया जा सकता है: int
, Int32
, Int64
और अन्य डेटा प्रकार पूर्णांक डेटा प्रकार को दर्शाती .NET में
नीचे दिया गया उदाहरण इस रूपांतरण को दर्शाता है:
यह शो (जानकारी के लिए) डेटा एडेप्टर तत्व को int मान के लिए इनिशियलाइज़ किया गया है। इसे सीधे ही किया जा सकता है, जैसे
int xxiiqVal = Int32.Parse(strNabcd);
पूर्व।
string strNii = "";
UsrDataAdapter.SelectCommand.Parameters["@Nii"].Value = Int32.Parse(strNii );
यह करना होगा
string x = TextBoxD1.Text;
int xi = Convert.ToInt32(x);
या आप उपयोग कर सकते हैं
int xi = Int32.Parse(x);
आप TryParse या इनबिल्ट फ़ंक्शंस के बिना नीचे पसंद कर सकते हैं:
static int convertToInt(string a)
{
int x = 0;
for (int i = 0; i < a.Length; i++)
{
int temp = a[i] - '0';
if (temp != 0)
{
x += temp * (int)Math.Pow(10, (a.Length - (i+1)));
}
}
return x;
}
int i = Convert.ToInt32(TextBoxD1.Text);
आप पार्स विधि की मदद से स्ट्रिंग को पूर्णांक मान में बदल सकते हैं।
उदाहरण के लिए:
int val = Int32.parse(stringToBeParsed);
int x = Int32.parse(1234);
जिस तरह से मैं हमेशा ऐसा करता हूं वह इस प्रकार है:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace example_string_to_int
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string a = textBox1.Text;
// This turns the text in text box 1 into a string
int b;
if (!int.TryParse(a, out b))
{
MessageBox.Show("This is not a number");
}
else
{
textBox2.Text = a+" is a number" ;
}
// Then this 'if' statement says if the string is not a number, display an error, else now you will have an integer.
}
}
}
यह है कि मैं यह कैसे करेंगे।
यदि आप लंबे रास्ते की तलाश में हैं, तो बस अपनी एक विधि बनाएं:
static int convertToInt(string a)
{
int x = 0;
Char[] charArray = a.ToCharArray();
int j = charArray.Length;
for (int i = 0; i < charArray.Length; i++)
{
j--;
int s = (int)Math.Pow(10, j);
x += ((int)Char.GetNumericValue(charArray[i]) * s);
}
return x;
}
विधि १
int TheAnswer1 = 0;
bool Success = Int32.TryParse("42", out TheAnswer1);
if (!Success) {
Console.WriteLine("String not Convertable to an Integer");
}
विधि २
int TheAnswer2 = 0;
try {
TheAnswer2 = Int32.Parse("42");
}
catch {
Console.WriteLine("String not Convertable to an Integer");
}
विधि ३
int TheAnswer3 = 0;
try {
TheAnswer3 = Int32.Parse("42");
}
catch (FormatException) {
Console.WriteLine("String not in the correct format for an Integer");
}
catch (ArgumentNullException) {
Console.WriteLine("String is null");
}
catch (OverflowException) {
Console.WriteLine("String represents a number less than"
+ "MinValue or greater than MaxValue");
}
यह कोड मेरे लिए Visual Studio 2010 में काम करता है:
int someValue = Convert.ToInt32(TextBoxD1.Text);
यह मेरे लिए काम करता है:
using System;
namespace numberConvert
{
class Program
{
static void Main(string[] args)
{
string numberAsString = "8";
int numberAsInt = int.Parse(numberAsString);
}
}
}
आप निम्नलिखित की कोशिश कर सकते हैं। यह काम करेगा:
int x = Convert.ToInt32(TextBoxD1.Text);
चर TextBoxD1.Text में स्ट्रिंग मान Int32 में परिवर्तित हो जाएगा और x में संग्रहीत किया जाएगा।
C # v.7 में आप एक अतिरिक्त चर घोषणा के बिना एक इनलाइन आउट पैरामीटर का उपयोग कर सकते हैं:
int.TryParse(TextBoxD1.Text, out int x);
out
पैरामीटर C # में अब हतोत्साहित नहीं हैं?
इससे आपको मदद मिल सकती है;
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
float Stukprijs;
float Aantal;
private void label2_Click(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show("In de eersre textbox staat een geldbedrag." + Environment.NewLine + "In de tweede textbox staat een aantal." + Environment.NewLine + "Bereken wat er moetworden betaald." + Environment.NewLine + "Je krijgt 15% korting over het bedrag BOVEN de 100." + Environment.NewLine + "Als de korting meer dan 10 euri is," + Environment.NewLine + "wordt de korting textbox lichtgroen");
}
private void button1_Click(object sender, EventArgs e)
{
errorProvider1.Clear();
errorProvider2.Clear();
if (float.TryParse(textBox1.Text, out Stukprijs))
{
if (float.TryParse(textBox2.Text, out Aantal))
{
float Totaal = Stukprijs * Aantal;
string Output = Totaal.ToString();
textBox3.Text = Output;
if (Totaal >= 100)
{
float korting = Totaal - 100;
float korting2 = korting / 100 * 15;
string Output2 = korting2.ToString();
textBox4.Text = Output2;
if (korting2 >= 10)
{
textBox4.BackColor = Color.LightGreen;
}
else
{
textBox4.BackColor = SystemColors.Control;
}
}
else
{
textBox4.Text = "0";
textBox4.BackColor = SystemColors.Control;
}
}
else
{
errorProvider2.SetError(textBox2, "Aantal plz!");
}
}
else
{
errorProvider1.SetError(textBox1, "Bedrag plz!");
if (float.TryParse(textBox2.Text, out Aantal))
{
}
else
{
errorProvider2.SetError(textBox2, "Aantal plz!");
}
}
}
private void BTNwissel_Click(object sender, EventArgs e)
{
//LL, LU, LR, LD.
Color c = LL.BackColor;
LL.BackColor = LU.BackColor;
LU.BackColor = LR.BackColor;
LR.BackColor = LD.BackColor;
LD.BackColor = c;
}
private void button3_Click(object sender, EventArgs e)
{
MessageBox.Show("zorg dat de kleuren linksom wisselen als je op de knop drukt.");
}
}
}