View Full Version : تشخیص رشته وعدد
mehdi1359a
سه شنبه 15 اردیبهشت 1388, 00:43 صبح
با سلام به همگی میخوام تشخیص بدم که محتوای متغییر رشته ای رشته فارسی است یا عدد چگونه؟ ممنون از کلیه دوستان
vcldeveloper
سه شنبه 15 اردیبهشت 1388, 12:31 عصر
اگر رشته مربوطه ANSI باشه، محدوده کدهای مربوط به اعداد مشخص هست، می تونید بررسی کنید که آیا هر کارکتر در محدوده این کدها قرار داره یا نه، اگر داشت، پس عدد هست. کد اسکی اعداد از 48 تا 57 هست.
اما اگر رشته یونیکد باشه (دلفی 2009 و بالاتر)، اون وقت روش بالا تضمین نمیکنه که شما همیشه بتونید اعداد رو از حروف تشخیص بدید. برای یونیکد باید از تابع IsNumber در یونیت Character استفاده کنید. این تابع فارغ از زبانی که در رشته استفاده شده، عدد بودن یا نبودن هر کارکتر در رشته را برای شما مشخص میکنه.
دلفــي
دوشنبه 14 تیر 1389, 08:49 صبح
با سلام به همگی میخوام تشخیص بدم که محتوای متغییر رشته ای رشته فارسی است یا عدد چگونه؟ ممنون از کلیه دوستان
می تونی از این تابع هم استفاده بکنی :
Function IsNumeric(s: String) : Boolean;
VAR
Code: Integer;
Value: Double;
BEGIN
val(s, Value, Code);
Result := (Code = 0)
END;
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.