উত্তর:
এটা চেষ্টা কর:
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
সেরা ভালো সংকলিত আপ:
ট্রাইপার্স পদ্ধতিটি পার্স পদ্ধতির মতো, ট্রাইপার্স পদ্ধতি ব্যতীত যদি রূপান্তর ব্যর্থ হয় তবে ব্যতিক্রমগুলি ছুঁড়ে না ফেলে। এটি অবৈধ এবং সফলভাবে পার্স করা যায় না এমন ইভেন্টে ফর্ম্যাটএক্সসেপশন পরীক্ষা করার জন্য ব্যতিক্রম হ্যান্ডলিংয়ের ব্যবহারের প্রয়োজনকে দূর করে। - এমএসডিএন
Int64.Parse()
। ইনপুট অ int- এ হয়, তাহলে আপনি একটি আপত্তি এবং একটি স্ট্যাক ট্রেস পাবেন 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 myInt = int.Parse(TextBoxD1.Text)
আর একটি উপায় হবে:
bool isConvertible = false;
int myInt = 0;
isConvertible = int.TryParse(TextBoxD1.Text, out myInt);
উভয়ের মধ্যে পার্থক্য হ'ল যদি আপনার পাঠ্যবক্সের মান রূপান্তর না করা যায় তবে প্রথমটি ব্যতিক্রম করবে throw
code
ইন্ট নিউমেরিকজেএল; bool isNum = int.TryParse (nomeeJobBand, NumericJL আউট); যদি (isNum) // পুনরুদ্ধার হওয়া জেএল পূর্বে প্রবেশ করতে সক্ষম হয় তবে তুলনার জন্য এগিয়ে যান {যদি (! (সংখ্যাযুক্তজেএল> = 6)) N // মনোনীত করুন else // অন্য {}}
আপনার স্ট্রিংটি পার্স করতে হবে এবং আপনার এটিও নিশ্চিত হওয়া দরকার যে এটি সত্যিকারের কোনও পূর্ণসংখ্যার বিন্যাসে রয়েছে।
সবচেয়ে সহজ উপায় হ'ল:
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
}
একটি চরে কনভার্ট.টোইন্ট 32 () ব্যবহার করার সময় সতর্ক থাকুন!
এটি অক্ষরের 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);
ট্রাই পার্সে বিবৃতি পার্সে সফল হয়েছে কিনা তা উপস্থাপন করে একটি বুলিয়ান দেয় boo যদি এটি সফল হয় তবে পার্সড মানটি দ্বিতীয় প্যারামিটারে সঞ্চিত হয়।
দেখুন Int32.TryParse পদ্ধতি (স্ট্রিং, Int32) আরো বিস্তারিত তথ্যের জন্য।
উপভোগ কর...
int i = 0;
string s = "123";
i =int.Parse(s);
i = Convert.ToInt32(s);
যদিও এখানে ইতিমধ্যে অনেকগুলি সমাধান রয়েছে যা বর্ণনা করে int.Parse
রয়েছে, সেখানে সমস্ত উত্তরের মধ্যে একটি গুরুত্বপূর্ণ বিষয় রয়েছে। সাধারণত, সংখ্যার মানগুলির স্ট্রিং উপস্থাপনা সংস্কৃতি অনুসারে পৃথক হয়। সংখ্যার স্ট্রিংয়ের উপাদান যেমন মুদ্রা চিহ্ন, গোষ্ঠী (বা হাজার) বিভাজক এবং দশমিক বিভাজক সব সংস্কৃতি অনুসারে পরিবর্তিত হয়।
আপনি যদি কোনও পূর্ণসংখ্যার সাথে স্ট্রিংকে পার্স করার একটি শক্তিশালী উপায় তৈরি করতে চান তবে সংস্কৃতি সম্পর্কিত তথ্যগুলি বিবেচনায় নেওয়া গুরুত্বপূর্ণ important আপনি যদি না করেন তবে বর্তমান সংস্কৃতি সেটিংস ব্যবহার করা হবে। যদি আপনি ফাইল ফর্ম্যাটগুলি পার্স করে থাকেন তবে এটি কোনও ব্যবহারকারীকে একটি সুন্দর বাজে চমকে দিতে পারে - বা আরও খারাপ। আপনি যদি কেবল ইংলিশ পার্সিং চান তবে সংস্কৃতি সেটিংস ব্যবহারের জন্য নির্দিষ্ট করে কেবল স্পষ্ট করে বলা ভাল:
var culture = CultureInfo.GetCulture("en-US");
int result = 0;
if (int.TryParse(myString, NumberStyles.Integer, culture, out result))
{
// use result...
}
আরও তথ্যের জন্য, সংস্কৃতিআইফোনটি পড়ুন, বিশেষত এমএসডিএন- তে নাম্বার ফর্ম্যাটআইনফো ।
আপনি নিজের এক্সটেনশন পদ্ধতি লিখতে পারেন
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
?
ট্রাইপার্স ডকুমেন্টেশনে বর্ণিত হিসাবে , ট্রাই পার্সে () একটি বুলিয়ান দেয় যা ইঙ্গিত করে যে একটি বৈধ নম্বর পাওয়া গেছে:
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;
}
আপনি স্ট্রিংকে সি # তে ইনট এ রূপান্তর করতে পারেন:
ধর্মান্তরিত ক্লাসের কার্যাবলী অর্থাত 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 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);
আপনি ট্রাইপার্স বা ইনবিল্ট ফাংশন ছাড়াই নীচের মতো করতে পারেন:
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;
}
পদ্ধতি 1
int TheAnswer1 = 0;
bool Success = Int32.TryParse("42", out TheAnswer1);
if (!Success) {
Console.WriteLine("String not Convertable to an Integer");
}
পদ্ধতি 2
int TheAnswer2 = 0;
try {
TheAnswer2 = Int32.Parse("42");
}
catch {
Console.WriteLine("String not Convertable to an Integer");
}
পদ্ধতি 3
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");
}
এই কোডটি আমার জন্য ভিজ্যুয়াল স্টুডিও 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);
ভেরিয়েবলের টেক্সটবক্সডি 1 -র স্ট্রিং মানটি আন্তঃ 32 এ রূপান্তরিত হবে এবং এক্স-এ সংরক্ষণ করা হবে।
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.");
}
}
}