La deuxième classe importante est pour la conversion de type. Le nom de la classe est Con_Convert. Il est instancié au début du code de la page. Le nom de l'objet est Convert, qui emprunte le nom de l'objet de la conversion de type .net. conversion de type. L'utilisation directe de la fonction de conversion de type entraînera le rapport d'une erreur par le programme car la variable est vide ou a un format incorrect, et cette erreur est autorisée dans la plupart des cas, si vous souhaitez convertir une variable de chaîne en une. nombre, si la variable est vide, vous avez généralement besoin de renvoyer automatiquement 0.
Une autre fonction importante consiste à encapsuler les opérations de formatage de variables, qui peuvent conserver le format de sortie uniforme de l'ensemble du site Web, tel que le format de l'heure, le format de la devise, etc. Lors du formatage des dates et des devises, il est très facile de rencontrer des erreurs dues à des valeurs nulles. Généralement, je dois écrire une logique pour pré-juger la valeur nulle, puis formater la variable. Après avoir utilisé cette classe pour être responsable de la conversion de type et de la sortie formatée, je n'ai pas à me soucier de ces détails insignifiants, qui peuvent grandement. améliorer mon humeur de programmation.
Il existe également d'autres fonctions de formatage qui ont été ajoutées, telles que Convert.ToPer() est utilisé pour convertir des nombres en pourcentages, Convert.FirstUppercase() est utilisé pour mettre en majuscule la première lettre... Vous pouvez selon vos propres besoins, Feel Libre à vous de prolonger ce cours et n'oubliez pas de le partager avec tout le monde.
Certaines fonctions de base peuvent être utilisées avec désinvolture si elles sont écrites avec désinvolture, mais dans des circonstances particulières, elles doivent être réécrites. Par exemple, la méthode Convert.ToInt() que j'ai écrite convertit les variables en Integer. est vide. Sinon, utilisez simplement Cint(). Mais lorsqu'une variable dépasse la plage, vous devez déterminer si elle se situe dans la plage Integer, j'ai donc écrit une méthode privée IsOverflowInteger() pour déterminer si la valeur de la variable est un nombre dans une certaine plage, je crois. il peut essentiellement gérer toutes les situations.
Je pense donc qu'il existe encore de nombreuses méthodes existantes dans la classe Convert qui doivent être améliorées. Si vous avez des fonctions meilleures et plus complètes, partagez-les afin qu'elles puissent devenir la classe de traitement de variables la plus standard dans ASP et ne plus avoir à le faire. comptez sur eux. Ces fonctions limitées dans ASP.
Certaines des méthodes les plus importantes sont répertoriées ci-dessous. Veuillez consulter le code pour plus de détails.
Jugement de type :
Convert.IsInteger(ByVal Value) détermine s'il s'agit d'un entier, seuls les signes 0~9 et - sont autorisés
Convert.IsInt(ByVal Value) détermine s'il s'agit d'un type int. Il est similaire à ce qui suit et n'a pas besoin d'être expliqué.
Convert.IsLng (valeur ByVal)
Convert.IsDecimal (valeur ByVal)
Convert.IsSng (valeur ByVal)
Convert.IsDbl (valeur ByVal)
Convert.IsCur (valeur ByVal)
Convert.IsBln (Valeur ByVal)
Convert.IsDat (valeur ByVal)
Convert.IsArr (valeur ByVal)
Conversion de types :
Convert.ToStr (valeur ByVal)
Convert.ToInt (valeur ByVal)
Convertir.ToLng (Valeur ByVal)
Convert.ToSng (valeur ByVal)
Convertir.ToDbl (Valeur ByVal)
Convertir.ToBln (Valeur ByVal)
Convertir.ToCur (Valeur ByVal)
Convert.ToDat (valeur ByVal)
format:
Formatage de la date Convert.FormatDat (ByVal Value, ByVal vStyle)
Formatage de la devise Convert.FormatCur (ByVal Value, ByVal vDecimal)
Convert.FormatNum(ByVal Value,ByVal vDecimal) Formatage des nombres
Autre formatage :
Convert.ToPer(Valeur Byval,Valeur Byval0) Pourcentage, avec %
Convert.FirstUppercase (valeur ByVal) Mettre la première lettre en majuscule
Convert.SafeSql (valeur ByVal) remplace « pour » dans SQL
Le code est le suivant : (Je ne sais pas comment insérer du code et je ne sais pas comment fonctionne le CSDN. Lorsque vous cliquez pour insérer du code, il s'agit d'un <textarea>, pas d'un style de pliage de code. Veuillez demander des amis qui le connaissent pour des conseils.)
Copiez le code comme suit :
Classe Con_Convert
'*****message global
privé i,j,valeur0,valeur1,valeur2
Sous-classe privée_Initialize
Fin du sous-marin
Sous-classe privée_Terminate
Fin du sous-marin
' ================================================== =============================
' Vérifier le type, renvoyer vrai/faux
' ================================================== =============================
Fonction publique IsStr (valeur ByVal)
IsStr=vrai
Fonction de fin
'****** vérifie la chaîne si elle est entière
Fonction publique IsInteger (valeur ByVal)
si Trim(Value)= ou IsNull(Value) ou IsEmpty(Value) alors
EstInteger=false
autre
EstEntier = Vrai
valeur0 = Couper (Valeur)
Pour i = 1 À len(value0)
Si Asc(Mid(value0, i, 1))>= Asc(0) et Asc(Mid(value0, i, 1)) <= Asc(9) Alors
Autre
si Asc(Mid(value0, i, 1))= Asc(-) et i=1 alors
autre
EstEntier = faux
Quitter pour
finir si
Fin si
Suivant
finir si
Fonction de fin
'****** vérifie si la valeur est dans une plage de nombres entiers
'Utiliser uniquement dans cette classe
' Valeur:
' vLiaison : max
Fonction privée IsOverflowInteger (ByVal Value, ByVal vBound)
si IsInteger(Value) et IsInteger(vBound) alors
IsOverflowInteger=false
valeur0=trim(valeur)
valeur1=trim(vBound)
si IsOverflowInteger=false alors
'supprimer 0 à gauche
faire while ( left(value0,1)=0 ou left(value0,1)=- )
valeur0=droite(valeur0,len(valeur0)-1)
boucle
faire while ( left(value1,1)=0 ou left(value1,1)=- )
valeur1=droite(valeur1,len(valeur1)-1)
boucle
si len(valeur0)=len(valeur1) alors
pour i=1 à len(valeur0)
si Asc(mid(value0,i,1)) > Asc(mid(value1,i,1)) ou Asc(mid(value0,i,1)) > Asc(9) ou Asc(mid(value0,i, 1)) < Asc(0) alors
IsOverflowInteger=true
sortie pour
finir si
suivant
autre
si len(valeur0)>len(valeur1) alors
IsOverflowInteger=true
finir si
finir si
finir si
autre
IsOverflowInteger=true
finir si
Fonction de fin
Fonction publique IsInt (valeur ByVal)
EstInt=vrai
si left(trim(value),1)=- alors
si IsOverflowInteger(trim(value),-32768) alors
EstInt=faux
finir si
autre
si IsOverflowInteger(trim(value),32767) alors
EstInt=faux
finir si
finir si
fonction de fin
Fonction publique IsLng (valeur ByVal)
IsLng=vrai
si left(trim(value),1)=- alors
si IsOverflowInteger(trim(value),-2147483648) alors
IsLng=faux
finir si
autre
si IsOverflowInteger(trim(value),2147483647) alors
IsLng=faux
finir si
finir si
Fonction de fin
'******************************************
'Décimal
'******************************************
'****** vérifie la chaîne si elle est décimale
Fonction privée IsDecimal (valeur ByVal)
dim intDecimalCount
intDecimalCount=0
si Trim(Value)= ou IsNull(Value) ou IsEmpty(Value) alors
IsDecimal = faux
autre
EstDécimal = Vrai
valeur0 = Couper (Valeur)
Pour i = 1 À len(value0)
Si Asc(Mid(value0, i, 1))>= Asc(0) et Asc(Mid(value0, i, 1)) <= Asc(9) Alors
Autre
sélectionner le cas Asc(Mid(value0, i, 1))
cas Asc(-)
si je = 1 alors
autre
EstDécimal = faux
Quitter pour
finir si
cas Asc(.)
si intDecimalCount<2 alors
intDecimalCount=intDecimalCount + 1
autre
EstDécimal = faux
Quitter pour
finir si
cas d'autre
EstDécimal = faux
Quitter pour
fin de la sélection
Fin si
Suivant
finir si
Fonction de fin
'****** vérifie si la valeur est dans la plage décimale
'Utiliser uniquement dans cette classe
' Valeur:
'Vlié :
Fonction privée IsOverflowDecimal (ByVal Value, ByVal vBound)
si Trim(Value)= ou IsNull(Value) ou IsEmpty(Value) ou Trim(vBound)= ou IsNull(vBound) ou IsEmpty(vBound) alors
IsOverflowDecimal=true
autre
finir si
Fonction de fin
Fonction publique IsSng (valeur ByVal)
IsSng=IsDecimal(valeur)
' -34028230000000000000000000000000000000000 ~ -0,000000000000000000000000000000000000000000000001401298
'0.0000000000000000000000000000000000000000000001401298 ~ 3402823000000000000000000000000000000000
'-3.402823 E38 ~ -1.401298 E-45
' 1.401298 E-45 ~ 3.402823 E38
Fonction de fin
Fonction publique IsDbl (valeur ByVal)
IsDbl=IsDecimal(valeur)
' -1.79769313486232 E308 ~ -4.94065645841247 E-324
' 4.94065645841247 E-324 ~ 1.7976931348623 E308
Fonction de fin
Fonction publique IsCur (valeur ByVal)
IsCur=IsDecimal(valeur)
'-922337203685477.5808 ~ 922337203685477.5807
Fonction de fin
Fonction publique IsBln (valeur ByVal)
si Value=true ou Value=false ou trim(Value)=1 ou trim(Value)=0 alors
IsBln=vrai
autre
IsBln=faux
finir si
Fonction de fin
Fonction publique IsDat (valeur ByVal)
si Trim(Value)= ou IsNull(Value) ou IsEmpty(Value) alors
IsDat=faux
autre
IsDat=IsDate(Valeur)
finir si
Fonction de fin
Fonction publique IsArr (valeur ByVal)
si Trim(Value)= ou IsNull(Value) ou IsEmpty(Value) alors
IsArr=faux
autre
IsArr=IsArray(Valeur)
finir si
Fonction de fin
' ================================================== =============================
'Convertir le type, valeur de retour/valeur initiale
' ================================================== =============================
Fonction publique ToStr (valeur ByVal)
ToStr=trim(Valeur)
Fonction de fin
Fonction publique ToInt (valeur ByVal)
si IsInt (Valeur) alors
ToInt=Cint(Valeur)
autre
ToInt=0
finir si
Fonction de fin
Fonction publique ToLng (valeur ByVal)
si IsLng (Valeur) alors
ToLng=clng(Valeur)
autre
ToLng=0
finir si
Fonction de fin
Fonction publique ToSng (valeur ByVal)
si IsSng (Valeur) alors
ToSng=cSng(Valeur)
autre
ÀSng=0
finir si
Fonction de fin
Fonction publique ToDbl (valeur ByVal)
si IsDbl (Valeur) alors
ToDbl=cDbl(Valeur)
autre
ToDbl=0
finir si
Fonction de fin
Fonction publique ToBln (valeur ByVal)
si IsBln (Valeur) alors
ToBln=cbool(Valeur)
autre
ToBln=faux
finir si
Fonction de fin
'****** vDecimal : nombre de décimales
Fonction publique ToCur (valeur ByVal)
si IsCur (Valeur) alors
ToCur=ccur(Valeur)
autre
ToCur=0
finir si
Fonction de fin
'****** vType : format de la date
Fonction publique ToDat (valeur ByVal)
si IsDat (Valeur) alors
ToDat=cdate(valeur)
autre
ÀDat=
finir si
Fonction de fin
' ================================================== =============================
'Format
' ================================================== =============================
'************************************************ * ***
'FormatDat
'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:JAN-2008
'30:2008-1-30 11:20:20
'40 : 09/01/2008
Fonction publique FormatDat (ByVal Value, ByVal vStyle)
dim dateThis, intStyle
dateThis=ToDat(Valeur)
intStyle=VersInt(vStyle)
si dateThis= ou isnull(dateThis) alors
FormatDat =
autre
Dim arrMonthArray(12)
arrMonthArray(1)=JAN
arrMonthArray(2)=FÉVRIER
arrMonthArray(3)=MAR
arrMonthArray(4)=APR
arrMonthArray(5)=MAI
arrMonthArray(6)=JUN
arrMonthArray(7)=JUL
arrMonthArray(8)=AOÛT
arrMonthArray(9)=SEP
arrMonthArray(10)=OCT
arrMonthArray(11)=NOV
arrMonthArray(12)=DÉC
sélectionner le cas intStyle
cas 1
FormatDat=cstr(année(dateThis)) &/& cstr(mois(dateThis)) &/& cstr(jour(dateThis))
cas 2
FormatDat= cstr(mois(dateThis)) &/& cstr(jour(dateThis)) &/& cstr(année(dateThis))
cas 3
FormatDat= cstr(jour(dateThis)) &/& cstr(mois(dateThis)) &/& cstr(année(dateThis))
cas 4
FormatDat= cstr(jour(dateThis)) &-& arrMonthArray(mois(dateThis)) &-& cstr(année(dateThis))
cas 10
FormatDat=cstr(année(dateThis)) &-& cstr(mois(dateThis))
cas 11
FormatDat=cstr(année(dateThis)) &/& cstr(mois(dateThis))
cas 12
FormatDat= cstr(mois(dateThis)) &/& cstr(année(dateThis))
cas 22
FormatDat= arrMonthArray(mois(dateThis)) &-& cstr(année(dateThis))
cas 30
FormatDat= cstr(année(dateThis)) &-& cstr(mois(dateThis)) &-& cstr(jour(dateThis)) & & heure(dateThis) &:& minute(dateThis) &:& seconde(dateThis)
cas 40
FormatDat=cstr(année(dateThis)) &-& ZeroPad(cstr(mois(dateThis)),2) &-& ZeroPad(cstr(jour(dateThis)),2)
cas d'autre
FormatDat=cstr(année(dateThis)) &-& cstr(mois(dateThis)) &-& cstr(jour(dateThis))
fin de la sélection
finir si
Fonction de fin
'******************
'FormatCur
'******************
Fonction publique FormatCur (ByVal Value, ByVal vDecimal)
FormatCur=Formatcurrency(ToCur(Value),ToInt(vDecimal))
Fonction de fin
Fonction publique FormatNum (ByVal Value, ByVal vDecimal)
FormatNum=FormatNumber(ToDbl(Valeur),ToInt(vDecimal))
Fonction de fin
' ================================================== =============================
'autre format
' ================================================== =============================
Fonction publique ToPer (valeur Byval, valeur Byval0)
si Convert.ToDbl(value0)<>0 alors
ToPer = me.FormatNum( Convert.ToDbl(value) / Convert.ToDbl(value0) * 100,2 ) & %
autre
ToPer = 0,00%
finir si
Fonction de fin
'Valeur ****** -> Valeur du premier code changé en majuscule
Fonction publique FirstUppercase (valeur ByVal)
valeur0 = trim(valeur)
si len(valeur0)=0 alors
PremierMajuscule=
autre
FirstUppercase = UCase(left(value0,1)) & right(value0,len(value0)-1)
finir si
Fonction de fin
Fonction publique SafeSql (valeur ByVal)
SafeSql = remplacer (valeur,','')
Fonction de fin
Fin du cours