الفئة الثانية المهمة هي تحويل النوع، واسم الفئة هو Con_Convert، ويتم إنشاء مثيل له في بداية رمز الصفحة، واسم الكائن هو تحويل، وهو ما يحل مشكلة تحويل النوع .net بشكل أساسي سيؤدي استخدام وظيفة تحويل النوع مباشرة إلى قيام البرنامج بالإبلاغ عن خطأ لأن المتغير فارغ أو يحتوي على تنسيق غير صحيح، وهذا الخطأ مسموح به في معظم الحالات، على سبيل المثال، إذا كنت تريد تحويل متغير سلسلة إلى ملف رقم، إذا كان المتغير فارغًا، فستحتاج عمومًا إلى إرجاع 0 تلقائيًا.
وظيفة أخرى مهمة هي تغليف عمليات التنسيق المتغيرة، والتي يمكنها الحفاظ على تنسيق الإخراج الموحد لموقع الويب بأكمله، مثل تنسيق الوقت وتنسيق العملة وما إلى ذلك. عند تنسيق التواريخ والعملات، من السهل جدًا مواجهة أخطاء بسبب القيم الخالية. بشكل عام، يجب أن أكتب منطقًا للحكم مسبقًا على القيمة الخالية ثم تنسيق المتغير بعد استخدام هذه الفئة لأكون مسؤولاً عن تحويل النوع والمخرجات المنسقة، لا داعي للقلق بشأن هذه التفاصيل التافهة، والتي يمكن أن تكون كبيرة جدًا. تحسين مزاجي البرمجة.
هناك أيضًا وظائف تنسيق أخرى تمت إضافتها، مثل Convert.ToPer() يستخدم لتحويل الأرقام إلى نسب مئوية، ويستخدم Convert.FirstUppercase() لتكبير الحرف الأول... يمكنك وفقًا لاحتياجاتك الخاصة، اشعر حرية توسيع هذا الفصل ولا تنسى مشاركته مع الجميع.
يمكن استخدام بعض الوظائف الأساسية بشكل عرضي إذا تمت كتابتها بشكل عرضي، ولكن عند مواجهة ظروف خاصة، فإنها تحتاج إلى إعادة كتابتها. على سبيل المثال، تقوم طريقة Convert.ToInt() التي كتبتها بتحويل المتغيرات إلى عدد صحيح إذا لم يكن الأمر كذلك، فما عليك سوى استخدام Cint(). ولكن عندما يتجاوز المتغير النطاق، عليك تحديد ما إذا كان ضمن نطاق عدد صحيح، لذلك كتبت طريقة خاصة IsOverflowInteger() لتحديد ما إذا كانت قيمة المتغير رقمًا ضمن نطاق معين، على ما أعتقد يمكنه التعامل مع جميع المواقف بشكل أساسي.
لذلك أعتقد أنه لا يزال هناك العديد من الأساليب الموجودة في فئة التحويل التي تحتاج إلى تحسين. إذا كانت لديك وظائف أفضل وأكثر اكتمالاً، فيرجى مشاركتها حتى تصبح فئة معالجة المتغيرات الأكثر معيارًا في ASP ولم تعد بحاجة إلى ذلك. الاعتماد عليها.
بعض الطرق الأكثر أهمية مذكورة أدناه، يرجى الاطلاع على الكود للحصول على تفاصيل محددة.
نوع الحكم:
يحدد Convert.IsInteger(ByVal Value) ما إذا كان عددًا صحيحًا أم لا، ويسمح فقط بالعلامات 0~9 و-
يحدد Convert.IsInt(ByVal Value) ما إذا كان من النوع int وهو مشابه لما يلي ولا يحتاج إلى شرح.
تحويل.IsLng(قيمة ByVal)
تحويل.IsDecimal (قيمة ByVal)
تحويل.IsSng (قيمة ByVal)
تحويل.IsDbl (قيمة ByVal)
Convert.IsCur(قيمة ByVal)
Convert.IsBln(قيمة ByVal)
تحويل.IsDat(قيمة ByVal)
Convert.IsArr(قيمة ByVal)
نوع التحويل:
Convert.ToStr(قيمة ByVal)
Convert.ToInt(قيمة ByVal)
تحويل.ToLng (قيمة ByVal)
تحويل.ToSng (قيمة ByVal)
تحويل.ToDbl (قيمة ByVal)
Convert.ToBln(قيمة ByVal)
Convert.ToCur(قيمة ByVal)
Convert.ToDat(قيمة ByVal)
شكل:
Convert.FormatDat(ByVal Value، ByVal vStyle) تنسيق التاريخ
Convert.FormatCur(ByVal Value، ByVal vDecimal) تنسيق العملة
Convert.FormatNum(ByVal Value,ByVal vDecimal) تنسيق الأرقام
تنسيقات أخرى:
Convert.ToPer(قيمة Byval، قيمة Byval0) النسبة المئوية، مع %
Convert.FirstUppercase(قيمة ByVal) تكبير الحرف الأول
Convert.SafeSql (قيمة ByVal) يستبدل 'for' في SQL
الكود كما يلي: (لا أعرف كيفية إدراج الكود، ولا أعرف كيف يعمل CSDN. عندما تنقر لإدراج كود، يكون <textarea>، وليس نمطًا لطي الكود. من فضلك اسأل الأصدقاء الذين يعرفون ذلك للحصول على المشورة.)
انسخ رمز الكود كما يلي:
فئة تحويل_تحويل
'******الرسالة العالمية
خاص ط، ي، قيمة 0، قيمة 1، قيمة 2
فئة فرعية خاصة_تهيئة
نهاية الفرعية
فئة فرعية خاصة_إنهاء
نهاية الفرعية
" ====================================================================================================== ==========================================================
'التحقق من النوع، وإرجاع صحيح/خطأ
" ====================================================================================================== ==========================================================
الوظيفة العامة IsStr(قيمة ByVal)
IsStr=صحيح
وظيفة النهاية
'****** تحقق من السلسلة إذا كانت عددًا صحيحًا
الوظيفة العامة IsInteger (قيمة ByVal)
إذا Trim(Value)= أو IsNull(Value) أو IsEmpty(Value) إذن
IsInteger=false
آخر
IsInteger = صحيح
value0=تقليم(القيمة)
لأني = 1 لين (القيمة0)
إذا كان Asc(Mid(value0, i, 1))>= Asc(0) و Asc(Mid(value0, i, 1)) <= Asc(9) ثم
آخر
إذا كان Asc(Mid(value0, i, 1))= Asc(-) وi=1 إذن
آخر
IsInteger = خطأ
الخروج ل
نهاية إذا
نهاية إذا
التالي
نهاية إذا
وظيفة النهاية
'****** تحقق مما إذا كانت القيمة في نطاق عدد صحيح
"استخدام فقط في هذه الفئة."
' قيمة:
' vBound : الحد الأقصى
الوظيفة الخاصة IsOverflowInteger (قيمة ByVal، ByVal vBound)
إذا IsInteger(Value) وIsInteger(vBound) إذن
IsOverflowInteger=false
value0=تقليم(قيمة)
القيمة 1 = القطع (vBound)
إذا كان IsOverflowInteger=خطأ
'احذف 0 من اليسار
افعل بينما ( left(value0,1)=0 أو left(value0,1)=- )
value0=يمين(value0,len(value0)-1)
حلقة
افعل بينما ( left(value1,1)=0 أو left(value1,1)=- )
value1=يمين(value1,len(value1)-1)
حلقة
إذا len(value0)=len(value1) إذن
لأني = 1 إلى لين (القيمة 0)
إذا كان Asc(mid(value0,i,1)) > Asc(mid(value1,i,1)) أو Asc(mid(value0,i,1)) > Asc(9) أو Asc(mid(value0,i, 1)) < تصاعدي (0) ثم
IsOverflowInteger=true
الخروج ل
نهاية إذا
التالي
آخر
إذا len(value0)>len(value1) إذن
IsOverflowInteger=true
نهاية إذا
نهاية إذا
نهاية إذا
آخر
IsOverflowInteger=true
نهاية إذا
وظيفة النهاية
الوظيفة العامة IsInt (قيمة ByVal)
IsInt=صحيح
إذا بقي (trim(value)،1)=- إذن
إذا IsOverflowInteger(trim(value),-32768) إذن
IsInt=false
نهاية إذا
آخر
إذا IsOverflowInteger(trim(value),32767) إذن
IsInt=false
نهاية إذا
نهاية إذا
وظيفة النهاية
الوظيفة العامة IsLng (قيمة ByVal)
IsLng=صحيح
إذا بقي (trim(value)،1)=- إذن
إذا IsOverflowInteger(trim(value),-2147483648) إذن
IsLng=false
نهاية إذا
آخر
إذا كان IsOverflowInteger(trim(value),2147483647) إذن
IsLng=false
نهاية إذا
نهاية إذا
وظيفة النهاية
'*********************************************************************************************************************************************************
'عشري
'*********************************************************************************************************************************************************
'****** تحقق من السلسلة إذا كانت عشرية
الوظيفة الخاصة IsDecimal (قيمة ByVal)
خافت intDecimalCount
intDecimalCount=0
إذا Trim(Value)= أو IsNull(Value) أو IsEmpty(Value) إذن
IsDecimal=false
آخر
IsDecimal = صحيح
value0=تقليم(القيمة)
لأني = 1 لين (القيمة0)
إذا كان Asc(Mid(value0, i, 1))>= Asc(0) و Asc(Mid(value0, i, 1)) <= Asc(9) ثم
آخر
حدد الحالة تصاعديًا (Mid(value0, i, 1))
الحالة تصاعدي(-)
إذا كنت = 1 ثم
آخر
IsDecimal = خطأ
الخروج ل
نهاية إذا
الحالة تصاعدي (.)
إذا كان intDecimalCount<2 إذن
intDecimalCount=intDecimalCount + 1
آخر
IsDecimal = خطأ
الخروج ل
نهاية إذا
حالة أخرى
IsDecimal = خطأ
الخروج ل
حدد النهاية
نهاية إذا
التالي
نهاية إذا
وظيفة النهاية
'****** تحقق مما إذا كانت القيمة في نطاق العشري
"استخدام فقط في هذه الفئة."
' قيمة:
'vBound:
الوظيفة الخاصة IsOverflowDecimal (قيمة ByVal، ByVal vBound)
إذا Trim(Value)= أو IsNull(Value) أو IsEmpty(Value) أو Trim(vBound)= أو IsNull(vBound) أو IsEmpty(vBound) إذن
IsOverflowDecimal=true
آخر
نهاية إذا
وظيفة النهاية
الوظيفة العامة IsSng (قيمة ByVal)
IsSng=IsDecimal(القيمة)
' -34028230000000000000000000000000000000000000000000000000000000000000000000000000000000001401298
' 0.000000000000000000000000000001401298 ~ 34028230000000000000000000000
' -3.402823 E38 ~ -1.401298 E-45
'1.401298 إي-45 ~ 3.402823 إي38
وظيفة النهاية
الوظيفة العامة IsDbl (قيمة ByVal)
IsDbl=IsDecimal(القيمة)
' -1.79769313486232 E308 ~ -4.94065645841247 E-324
' 4.94065645841247 إي-324 ~ 1.7976931348623 إي308
وظيفة النهاية
الوظيفة العامة IsCur (قيمة ByVal)
IsCur=IsDecimal(القيمة)
'-922337203685477.5808 ~ 922337203685477.5807
وظيفة النهاية
الوظيفة العامة IsBln (قيمة ByVal)
إذا كانت القيمة = صحيح أو القيمة = خطأ أو القطع (القيمة) = 1 أو القطع (القيمة) = 0 ثم
IsBln=صحيح
آخر
IsBln=خطأ
نهاية إذا
وظيفة النهاية
الوظيفة العامة IsDat (قيمة ByVal)
إذا Trim(Value)= أو IsNull(Value) أو IsEmpty(Value) إذن
IsDat=خطأ
آخر
IsDat=IsDate(القيمة)
نهاية إذا
وظيفة النهاية
الوظيفة العامة IsArr(قيمة ByVal)
إذا Trim(Value)= أو IsNull(Value) أو IsEmpty(Value) إذن
IsArr=خطأ
آخر
IsArr=IsArray(القيمة)
نهاية إذا
وظيفة النهاية
" ====================================================================================================== ==========================================================
'نوع التحويل، قيمة الإرجاع/القيمة الأولية
" ====================================================================================================== ==========================================================
الوظيفة العامة ToStr (قيمة ByVal)
ToStr=تقليم(القيمة)
وظيفة النهاية
الوظيفة العامة ToInt (قيمة ByVal)
إذا IsInt(القيمة) ثم
ToInt=سينت(القيمة)
آخر
توينت = 0
نهاية إذا
وظيفة النهاية
الوظيفة العامة ToLng (قيمة ByVal)
إذا IsLng(القيمة) إذن
ToLng=clng(القيمة)
آخر
الطول = 0
نهاية إذا
وظيفة النهاية
الوظيفة العامة ToSng (قيمة ByVal)
إذا IsSng(القيمة) ثم
ToSng=cSng(القيمة)
آخر
توسنغ = 0
نهاية إذا
وظيفة النهاية
الوظيفة العامة ToDbl (قيمة ByVal)
إذا IsDbl(القيمة) ثم
ToDbl=cDbl(القيمة)
آخر
تودبل=0
نهاية إذا
وظيفة النهاية
الوظيفة العامة ToBln (قيمة ByVal)
إذا IsBln(القيمة) ثم
ToBln=cbool(القيمة)
آخر
ToBln=خطأ
نهاية إذا
وظيفة النهاية
'****** vDecimal : عدد المنازل العشرية
الوظيفة العامة ToCur (قيمة ByVal)
إذا IsCur(القيمة) ثم
ToCur=ccur(القيمة)
آخر
توكور=0
نهاية إذا
وظيفة النهاية
'****** vType: تنسيق التاريخ
الوظيفة العامة ToDat (قيمة ByVal)
إذا IsDat(القيمة) ثم
ToDat=cdate(القيمة)
آخر
تودات=
نهاية إذا
وظيفة النهاية
" ====================================================================================================== ==========================================================
'شكل
" ====================================================================================================== ==========================================================
'********************************************************************************************************************************************************************************* * ***
'فورماتدات
'vdate
'vStyle 0:2008-1-30 1:2008/1/30 2:1/30/2008 3:30/1/2008 4:30-JAN-2008
' 10:2008-1 11:2008/1 12:1/2008
'22: يناير 2008
'30:2008-1-30 11:20:20
'40:2008-01-09
تنسيق الوظيفة العامة (قيمة ByVal، ByVal vStyle)
تاريخ خافت هذا، intStyle
dateThis=ToDat(القيمة)
intStyle=ToInt(vStyle)
إذا كان dateThis= أو isnull(dateThis) إذن
فورمات دات =
آخر
خافت arrMonthArray(12)
arrMonthArray(1)=JAN
arrMonthArray(2)=FEB
arrMonthArray(3)=MAR
arrMonthArray(4)=APR
arrMonthArray(5)=MAY
arrMonthArray(6)=JUN
arrMonthArray(7)=JUL
arrMonthArray(8)=AUG
arrMonthArray(9)=SEP
arrMonthArray(10)=OCT
arrMonthArray(11)=NOV
arrMonthArray(12)=DEC
حدد حالة intStyle
الحالة 1
FormatDat=cstr(year(dateThis)) &/& cstr(month(dateThis)) &/& cstr(day(dateThis))
الحالة 2
FormatDat= cstr(شهر(dateThis)) &/& cstr(day(dateThis)) &/& cstr(year(dateThis))
الحالة 3
FormatDat= cstr(day(dateThis)) &/& cstr(month(dateThis)) &/& cstr(year(dateThis))
الحالة 4
FormatDat= cstr(day(dateThis)) &-& arrMonthArray(month(dateThis)) &-& cstr(year(dateThis))
الحالة 10
FormatDat=cstr(year(dateThis)) &-& cstr(month(dateThis))
الحالة 11
FormatDat=cstr(year(dateThis)) &/& cstr(month(dateThis))
الحالة 12
FormatDat= cstr(الشهر(dateThis)) &/& cstr(year(dateThis))
الحالة 22
FormatDat= arrMonthArray(month(dateThis)) &-& cstr(year(dateThis))
الحالة 30
FormatDat= cstr(year(dateThis)) &-& cstr(month(dateThis)) &-& cstr(day(dateThis)) & & ساعة(dateThis) &:& دقيقة(dateThis) &:& ثانية(dateThis)
الحالة 40
FormatDat=cstr(year(dateThis)) &-& ZeroPad(cstr(month(dateThis)),2) &-& ZeroPad(cstr(day(dateThis)),2)
حالة أخرى
FormatDat=cstr(year(dateThis)) &-& cstr(month(dateThis)) &-& cstr(day(dateThis))
حدد النهاية
نهاية إذا
وظيفة النهاية
'******************
'فورماتكور
'******************
تنسيق الوظيفة العامة (قيمة ByVal، ByVal vDecimal)
FormatCur=Formatcurrency(ToCur(Value),ToInt(vDecimal))
وظيفة النهاية
تنسيق الوظيفة العامة (قيمة ByVal، ByVal vDecimal)
FormatNum=FormatNumber(ToDbl(Value)،ToInt(vDecimal))
وظيفة النهاية
" ====================================================================================================== ==========================================================
"تنسيق آخر."
" ====================================================================================================== ==========================================================
الوظيفة العامة ToPer (قيمة Byval، قيمة Byval 0)
إذا Convert.ToDbl(value0)<>0 ثم
ToPer = me.FormatNum( Convert.ToDbl(value) / Convert.ToDbl(value0) * 100,2 ) & %
آخر
أعلى = 0.00%
نهاية إذا
وظيفة النهاية
'****** القيمة -> تغيير رمز القيمة الأول إلى أحرف كبيرة
الوظيفة العامة FirstUppercase (قيمة ByVal)
القيمة 0 = القطع (القيمة)
إذا len(value0)=0 إذن
FirstUppercase=
آخر
FirstUppercase = UCase(left(value0,1)) & right(value0,len(value0)-1)
نهاية إذا
وظيفة النهاية
الوظيفة العامة SafeSql (قيمة ByVal)
SafeSql = استبدال (القيمة،'،'')
وظيفة النهاية
نهاية الفصل