Bagikan melalui


Cara menentukan apakah sebuah string mewakili nilai numerik atau tidak (Panduan Pemrograman C#)

Untuk menentukan apakah sebuah string merupakan representasi valid dari jenis numerik tertentu, gunakan metode statis TryParse yang diimplementasikan oleh semua jenis numerik primitif dan juga oleh jenis seperti DateTime dan IPAddress. Contoh berikut menunjukkan cara menentukan apakah "108" adalah int yang valid atau tidak.

int i = 0;
string s = "108";  
bool result = int.TryParse(s, out i); //i now = 108  

Jika string berisi karakter non-numerik atau nilai terlalu besar atau terlalu kecil untuk jenis yang telah Anda tentukan, TryParse akan mengeluarkan false dan mengatur parameter keluar ke nol. Jika tidak, nilai true akan dihasilkan dan parameter keluar akan diatur ke nilai numerik dari string tersebut.

Catatan

String dapat hanya berisi karakter numerik dan masih tidak valid untuk jenis metode TryParse yang Anda gunakan. Misalnya, "256" bukan nilai yang valid untuk byte, tetapi valid untuk int. "98.6" bukan nilai yang valid untuk int, tetapi decimal yang valid.

Contoh

Contoh berikut menunjukkan cara menggunakan TryParse dengan representasi string dari nilai long, byte, dan decimal.


string numString = "1287543"; //"1287543.0" will return false for a long
long number1 = 0;
bool canConvert = long.TryParse(numString, out number1);
if (canConvert == true)
Console.WriteLine("number1 now = {0}", number1);
else
Console.WriteLine("numString is not a valid long");

byte number2 = 0;
numString = "255"; // A value of 256 will return false
canConvert = byte.TryParse(numString, out number2);
if (canConvert == true)
Console.WriteLine("number2 now = {0}", number2);
else
Console.WriteLine("numString is not a valid byte");

decimal number3 = 0;
numString = "27.3"; //"27" is also a valid decimal
canConvert = decimal.TryParse(numString, out number3);
if (canConvert == true)
Console.WriteLine("number3 now = {0}", number3);
else
Console.WriteLine("number3 is not a valid decimal");

Pemrograman yang Kuat

Jenis numerik primitif juga menerapkan metode statis Parse, yang mengeluarkan pengecualian jika stringnya bukan angka yang valid. TryParse umumnya lebih efisien karena hanya mengeluarkan false jika angkanya tidak valid.

.NET Keamanan

Selalu gunakan metode TryParse atau Parse untuk memvalidasi input pengguna dari kontrol seperti kotak teks dan kotak kombo.

Lihat juga