Saya punya TextBoxD1.Text
dan saya ingin mengubahnya menjadi int
untuk menyimpannya dalam database.
Bagaimana saya bisa melakukan ini?
Coba ini:
int x = Int32.Parse(TextBoxD1.Text);
atau lebih baik lagi:
int x = 0;
Int32.TryParse(TextBoxD1.Text, out x);
Juga, karena Int32.TryParse
mengembalikan a bool
Anda dapat menggunakan nilai pengembaliannya untuk membuat keputusan tentang hasil upaya penguraian:
int x = 0;
if (Int32.TryParse(TextBoxD1.Text, out x))
{
// you know that the parsing attempt
// was successful
}
Jika Anda penasaran, perbedaan antara Parse
dan TryParse
yang terbaik disimpulkan seperti ini:
Metode TryParse seperti metode Parse, kecuali metode TryParse tidak memberikan pengecualian jika konversi gagal. Ini menghilangkan kebutuhan untuk menggunakan penanganan pengecualian untuk menguji FormatException jika s tidak valid dan tidak dapat diurai dengan sukses. - MSDN
Int64.Parse()
. Jika inputnya bukan int, maka Anda akan mendapatkan eksekusi dan jejak stack denganInt64.Parse
, atau booleanFalse
denganInt64.TryParse()
, jadi Anda akan memerlukan pernyataan if, sepertiif (Int32.TryParse(TextBoxD1.Text, out x)) {}
.Gunakan ini jika Anda merasa yakin bahwa isi kotak teks itu valid
int
. Opsi yang lebih aman adalahIni akan memberi Anda beberapa nilai default yang dapat Anda gunakan.
Int32.TryParse
juga mengembalikan nilai Boolean yang menunjukkan apakah ia dapat menguraikan atau tidak, sehingga Anda bahkan dapat menggunakannya sebagai kondisiif
pernyataan.sumber
Itu tidak akan melempar jika teksnya bukan angka.
sumber
Cara lain adalah:
Perbedaan antara keduanya adalah bahwa yang pertama akan melempar pengecualian jika nilai dalam kotak teks Anda tidak dapat dikonversi, sedangkan yang kedua hanya akan mengembalikan false.
sumber
code
int NumericJL; bool isNum = int.TryParse (nomeeJobBand, out NumericJL); if (isNum) // JL yang retensi dapat dikirimkan ke int lalu lanjutkan untuk perbandingan {if (! (NumericJL> = 6)) {// Nominasikan} // lain {}}Anda perlu mengurai string, dan Anda juga perlu memastikan bahwa itu benar-benar dalam format bilangan bulat.
Cara termudah adalah ini:
sumber
Hati-hati saat menggunakan Convert.ToInt32 () di char!
Ini akan mengembalikan kode karakter UTF-16 !
Jika Anda mengakses string hanya di posisi tertentu menggunakan
[i]
operator pengindeksan, itu akan mengembalikan achar
dan bukanstring
!sumber
Pernyataan TryParse mengembalikan boolean yang mewakili apakah parse telah berhasil atau tidak. Jika berhasil, nilai yang diuraikan disimpan ke dalam parameter kedua.
Lihat Int32.TryParse Method (String, Int32) untuk informasi lebih detail.
sumber
Bersenang senang lah...
sumber
Meskipun sudah ada banyak solusi di sini yang menjelaskan
int.Parse
, ada sesuatu yang penting yang hilang dalam semua jawaban. Biasanya, representasi string dari nilai numerik berbeda menurut budaya. Elemen string numerik seperti simbol mata uang, pemisah grup (atau ribuan), dan pemisah desimal semuanya berbeda menurut budaya.Jika Anda ingin membuat cara yang kuat untuk mengurai string ke integer, karena itu penting untuk mempertimbangkan informasi budaya. Jika tidak, pengaturan budaya saat ini akan digunakan. Itu mungkin memberi pengguna kejutan yang tidak menyenangkan - atau bahkan lebih buruk, jika Anda mem-parsing format file. Jika Anda hanya ingin parsing bahasa Inggris, yang terbaik adalah membuatnya eksplisit, dengan menentukan pengaturan budaya untuk digunakan:
Untuk informasi lebih lanjut, baca di CultureInfo, khususnya NumberFormatInfo di MSDN.
sumber
Anda dapat menulis metode ekstensi Anda sendiri
Dan dimanapun dalam kode panggil saja
Dalam kasus nyata ini
sumber
StringExtensions
bukanIntegerExtensions
, karena metode ekstensi ini bekerja padastring
dan bukan padaint
?Seperti yang dijelaskan dalam dokumentasi TryParse , TryParse () mengembalikan Boolean yang menunjukkan bahwa nomor yang valid ditemukan:
sumber
sumber
Anda bisa menggunakan,
atau
sumber
sumber
Anda dapat mengonversi string menjadi int di C # menggunakan:
Fungsi kelas convert yaitu
Convert.ToInt16()
,Convert.ToInt32()
,Convert.ToInt64()
atau dengan menggunakanParse
danTryParse
fungsi. Contoh diberikan di sini .sumber
Anda juga dapat menggunakan metode ekstensi , sehingga akan lebih mudah dibaca (meskipun semua orang sudah terbiasa dengan fungsi Parse biasa).
Dan kemudian Anda bisa menyebutnya seperti itu:
Jika Anda yakin bahwa string Anda adalah bilangan bulat, seperti "50".
Jika Anda tidak yakin dan ingin mencegah crash.
Untuk membuatnya lebih dinamis, sehingga Anda dapat menguraikannya juga menjadi dua kali lipat, mengambang, dll., Anda dapat membuat ekstensi generik.
sumber
Konversi
string
keint
dapat dilakukan untuk:int
,Int32
,Int64
dan tipe data lain yang mencerminkan jenis data integer di NETContoh di bawah ini menunjukkan konversi ini:
Ini menunjukkan (untuk info) elemen adaptor data yang diinisialisasi ke nilai int. Hal yang sama dapat dilakukan secara langsung seperti,
Ex.
Tautan untuk melihat demo ini .
sumber
Ini akan dilakukan
Atau bisa Anda gunakan
Lihat Jaringan Pengembang Microsoft untuk informasi lebih lanjut
sumber
Anda dapat melakukannya seperti di bawah ini tanpa fungsi TryParse atau inbuilt:
sumber
sumber
Anda dapat mengonversi string ke nilai integer dengan bantuan metode parse.
Misalnya:
sumber
Cara saya selalu melakukan ini adalah seperti ini:
Inilah yang akan saya lakukan.
sumber
Jika Anda mencari jalan panjang, cukup buat satu metode Anda:
sumber
METODE 1
METODE 2
METODE 3
sumber
Kode ini berfungsi untuk saya di Visual Studio 2010:
sumber
Ini bekerja untuk saya:
sumber
Anda dapat mencoba yang berikut ini. Ini akan bekerja:
Nilai string dalam variabel TextBoxD1.Text akan dikonversi menjadi Int32 dan akan disimpan dalam x.
sumber
Di C # v.7 Anda bisa menggunakan parameter inline out, tanpa deklarasi variabel tambahan:
sumber
out
parameter tidak disarankan di C # sekarang?Ini dapat membantu Anda; D
sumber