La segunda clase importante es para la conversión de tipos. El nombre de la clase es Con_Convert. Se crea una instancia al comienzo del código de la página. El nombre del objeto es Convert, que toma prestado el nombre del objeto de la conversión de tipos .net. conversión de tipo. El uso directo de la función de conversión de tipo hará que el programa informe un error porque la variable está vacía o tiene un formato incorrecto, y este error se permite en la mayoría de los casos, por ejemplo, si desea convertir una variable de cadena en una. número, si la variable está vacía, generalmente necesita Devuelve automáticamente 0.
Otra función importante es encapsular operaciones de formato variable, que pueden mantener el formato de salida uniforme de todo el sitio web, como el formato de hora, el formato de moneda, etc. Al formatear fechas y monedas, es muy fácil encontrar errores debido a valores nulos. Generalmente, tengo que escribir una lógica para prejuzgar el valor nulo y luego formatear la variable. Después de usar esta clase para ser responsable de la conversión de tipos y la salida formateada, no tengo que preocuparme por estos detalles triviales, que pueden afectar enormemente. mejorar mi estado de ánimo de programación.
También se han agregado otras funciones de formato, como Convert.ToPer() se usa para convertir números en porcentajes, Convert.FirstUppercase() se usa para poner en mayúscula la primera letra... Puedes hacerlo según tus propias necesidades, siente Puedes ampliar esta clase y no olvides compartirla con todos.
Algunas funciones básicas se pueden usar de manera informal si se escriben de manera informal, pero cuando se encuentran circunstancias especiales, es necesario reescribirlas. Por ejemplo, el método Convert.ToInt () que escribí convierte variables a números enteros. está vacío. Si no, simplemente use Cint(). Pero cuando una variable excede el rango, debe determinar si está dentro del rango de Integer, así que escribí un método privado IsOverflowInteger () para determinar si el valor de la variable es un número dentro de un cierto rango. Después de dicho procesamiento, creo. Básicamente puede manejar todas las situaciones.
Entonces creo que todavía hay muchos métodos existentes en la clase Convert que deben mejorarse. Si tiene funciones mejores y más completas, compártalas para que puedan convertirse en la clase de procesamiento de variables más estándar en ASP y ya no tengan que serlo. Confíe en esas funciones limitadas en ASP.
Algunos de los métodos más importantes se enumeran a continuación. Consulte el código para obtener detalles específicos.
Juicio de tipo:
Convert.IsInteger (ByVal Value) determina si es un número entero, solo se permiten signos 0 ~ 9 y -
Convert.IsInt(ByVal Value) determina si es de tipo int. Es similar al siguiente y no es necesario explicarlo.
Convert.IsLng (valor por valor)
Convert.IsDecimal (valor por valor)
Convert.IsSng (valor ByVal)
Convert.IsDbl (Valor ByVal)
Convert.IsCur(Valor ByVal)
Convert.IsBln(Valor ByVal)
Convert.IsDat (valor por valor)
Convert.IsArr (valor por valor)
Conversión de tipo:
Convert.ToStr(Valor ByVal)
Convert.ToInt (valor por valor)
Convert.ToLng (valor por valor)
Convert.ToSng (valor por valor)
Convert.ToDbl(Valor ByVal)
Convert.ToBln(Valor ByVal)
Convert.ToCur(Valor ByVal)
Convert.ToDat (valor por valor)
formato:
Formato de fecha Convert.FormatDat (ByVal Value, ByVal vStyle)
Formato de moneda Convert.FormatCur(ByVal Value,ByVal vDecimal)
Convert.FormatNum(ByVal Value,ByVal vDecimal) Formato de número
Otro formato:
Convert.ToPer(Valor Byval,Valor Byval0) Porcentaje, con %
Convert.FirstUppercase (valor ByVal) Ponga en mayúscula la primera letra
Convert.SafeSql (valor ByVal) reemplaza 'para' en SQL
El código es el siguiente: (No sé cómo insertar código y no sé cómo funciona CSDN. Cuando hace clic para insertar código, es un <textarea>, no un estilo de plegado de código. Por favor pregunte amigos que lo saben para pedir consejo.)
Copie el código de código de la siguiente manera:
Clase Con_Convert
'******mensaje global
privado i,j,valor0,valor1,valor2
Subclase privada_Inicializar
Subtítulo final
Subclase privada_Terminar
Subtítulo final
' =================================================== ==============================
' Comprobar tipo, devolver verdadero/falso
' =================================================== ==============================
Función pública IsStr (valor ByVal)
IsStr=verdadero
Función final
'****** comprobar la cadena si es un número entero
Función pública IsInteger (valor ByVal)
si Trim(Value)= o IsNull(Value) o IsEmpty(Value) entonces
EsEntero=falso
demás
EsEntero = Verdadero
valor0=Recortar(Valor)
Para i = 1 A len(valor0)
Si Asc(Mid(valor0, i, 1))>= Asc(0) y Asc(Mid(valor0, i, 1)) <= Asc(9) Entonces
Demás
si Asc(Mid(valor0, i, 1))= Asc(-) e i=1 entonces
demás
EsEntero = falso
Salir por
terminar si
Terminar si
Próximo
terminar si
Función final
'****** comprueba si el valor está en el rango de un número entero
'Solo uso en esta clase
' Valor:
'vBound: máx.
La función privada esOverflowInteger(ByVal Value,ByVal vBound)
si IsInteger (Valor) y IsInteger (vBound) entonces
IsOverflowInteger=falso
valor0=recortar(valor)
valor1=recortar(vBound)
si IsOverflowInteger=false entonces
'borrar 0 de la izquierda
hacer mientras ( left(value0,1)=0 or left(value0,1)=- )
valor0=derecha(valor0,len(valor0)-1)
bucle
hacer mientras (izquierda(valor1,1)=0 o izquierda(valor1,1)=-)
valor1=derecha(valor1,len(valor1)-1)
bucle
si len(valor0)=len(valor1) entonces
para i=1 a len(valor0)
si Asc(mid(valor0,i,1)) > Asc(mid(valor1,i,1)) o Asc(mid(valor0,i,1)) > Asc(9) o Asc(mid(valor0,i, 1)) < Asc(0) entonces
IsOverflowInteger=verdadero
salida para
terminar si
próximo
demás
si len(valor0)>len(valor1) entonces
IsOverflowInteger=verdadero
terminar si
terminar si
terminar si
demás
IsOverflowInteger=verdadero
terminar si
Función final
Función pública IsInt (valor ByVal)
EsInt=verdadero
si queda (recortar (valor), 1) = - entonces
si IsOverflowInteger (recortar (valor), -32768) entonces
EsInt=falso
terminar si
demás
si IsOverflowInteger (recortar (valor), 32767) entonces
EsInt=falso
terminar si
terminar si
función final
Función pública IsLng (valor ByVal)
IsLng=verdadero
si queda (recortar (valor), 1) = - entonces
si IsOverflowInteger (recortar (valor), -2147483648) entonces
IsLng=falso
terminar si
demás
si IsOverflowInteger (recortar (valor), 2147483647) entonces
IsLng=falso
terminar si
terminar si
Función final
'******************************************
'Decimal
'******************************************
'****** comprobar la cadena si es decimal
La función privada es decimal (valor por valor)
tenue intDecimalCount
intDecimalCount=0
si Trim(Value)= o IsNull(Value) o IsEmpty(Value) entonces
EsDecimal=falso
demás
EsDecimal = Verdadero
valor0=Recortar(Valor)
Para i = 1 A len(valor0)
Si Asc(Mid(valor0, i, 1))>= Asc(0) y Asc(Mid(valor0, i, 1)) <= Asc(9) Entonces
Demás
seleccione caso Asc(Mid(valor0, i, 1))
caso Asc(-)
si i=1 entonces
demás
EsDecimal = falso
Salir por
terminar si
caso Asc(.)
si intDecimalCount<2 entonces
intDecimalCount=intDecimalCount + 1
demás
EsDecimal = falso
Salir por
terminar si
caso mas
EsDecimal = falso
Salir por
finalizar seleccionar
Terminar si
Próximo
terminar si
Función final
'****** comprueba si el valor está en el rango decimal
'Solo uso en esta clase
' Valor:
'vBound:
La función privada esOverflowDecimal(ByVal Value,ByVal vBound)
si Trim(Value)= o IsNull(Value) o IsEmpty(Value) o Trim(vBound)= o IsNull(vBound) o IsEmpty(vBound) entonces
IsOverflowDecimal=verdadero
demás
terminar si
Función final
Función pública IsSng (valor ByVal)
IsSng=EsDecimal(valor)
' -3402823000000000000000000000000000000000 ~ -0.00000000000000000000000000000000000000000000001401298
' 0.00000000000000000000000000000000000000000001401298 ~ 3402823000000000000000000000000000000000
' -3.402823 E38 ~ -1.401298 E-45
' 1.401298 E-45 ~ 3.402823 E38
Función final
Función pública IsDbl (valor ByVal)
IsDbl=EsDecimal(valor)
' -1.79769313486232 E308 ~ -4.94065645841247 E-324
' 4.94065645841247 E-324 ~ 1.7976931348623 E308
Función final
Función pública IsCur (valor ByVal)
IsCur=EsDecimal(valor)
'-922337203685477.5808 ~ 922337203685477.5807
Función final
Función pública IsBln (valor ByVal)
si Valor = verdadero o Valor = falso o recortar (Valor) = 1 o recortar (Valor) = 0, entonces
IsBln=verdadero
demás
EsBln=falso
terminar si
Función final
Función pública IsDat (valor ByVal)
si Trim(Value)= o IsNull(Value) o IsEmpty(Value) entonces
EsDat=falso
demás
IsDat=EsFecha(Valor)
terminar si
Función final
Función pública IsArr (valor ByVal)
si Trim(Value)= o IsNull(Value) o IsEmpty(Value) entonces
IsArr=falso
demás
IsArr=EsArray(Valor)
terminar si
Función final
' =================================================== ==============================
'Tipo de conversión, valor de retorno/valor inicial
' =================================================== ==============================
Función pública ToStr (valor ByVal)
ToStr=recortar(Valor)
Función final
Función pública ToInt (valor ByVal)
si IsInt(Valor) entonces
ToInt=Cint(Valor)
demás
HastaInt=0
terminar si
Función final
ToLng de función pública (valor ByVal)
si IsLng(Valor) entonces
ToLng=clng(Valor)
demás
Longitud=0
terminar si
Función final
Función pública ToSng (valor ByVal)
si IsSng (Valor) entonces
ToSng=cSng(Valor)
demás
ToSng=0
terminar si
Función final
Función pública ToDbl (valor ByVal)
si IsDbl(Valor) entonces
ToDbl=cDbl(Valor)
demás
HastaDbl=0
terminar si
Función final
Función pública ToBln (valor ByVal)
si IsBln(Valor) entonces
ToBln=cbool(Valor)
demás
ToBln=falso
terminar si
Función final
'****** vDecimal: número de decimales
Función pública ToCur (valor ByVal)
si IsCur(Valor) entonces
ToCur=ccur(Valor)
demás
HastaCur=0
terminar si
Función final
'****** vType: formato de fecha
Función pública hasta los datos (valor por valor)
si IsDat (Valor) entonces
HastaDat=cfecha(valor)
demás
Hasta fecha=
terminar si
Función final
' =================================================== ==============================
'Formato
' =================================================== ==============================
'************************************************ * ***
'FormatoDat
'v fecha
'vStyle 0:2008-1-30 1:2008/1/30 2:1/30/2008 3:30/1/2008 4:30-ENE-2008
' 10:2008-1 11:2008/1 12:1/2008
'22: ENERO-2008
'30:2008-1-30 11:20:20
'40:2008-01-09
Formato de función públicaDat (valor ByVal, ByVal vStyle)
fecha tenueEsto,intStyle
fechaEsta=HastaDat(Valor)
intStyle=ToInt(vEstilo)
si dateThis = o es nulo (dateThis) entonces
FormatoDat =
demás
Dim arrMonthArray(12)
arrMonthArray(1)=ENE
arrMonthArray(2)=FEB
arrMonthArray(3)=MAR
arrMonthArray(4)=APR
arrMonthArray(5)=MAYO
arrMonthArray(6)=JUN
arrMonthArray(7)=JUL
arrMonthArray(8)=AGOSTO
arrMonthArray(9)=SEP
arrMonthArray(10)=OCT
arrMonthArray(11)=NOV
arrMonthArray(12)=DEC
seleccionar caso intStyle
caso 1
FormatDat=cstr(año(fechaEsto)) &/& cstr(mes(fechaEsto)) &/& cstr(día(fechaEsto))
caso 2
FormatDat= cstr(mes(fechaEsto)) &/& cstr(día(fechaEsto)) &/& cstr(año(fechaEsto))
caso 3
FormatDat= cstr(día(fechaEsto)) &/& cstr(mes(fechaEsto)) &/& cstr(año(fechaEsto))
caso 4
FormatDat= cstr(día(fechaEsto)) &-& arrMonthArray(mes(fechaEsto)) &-& cstr(año(fechaEsto))
caso 10
FormatDat=cstr(año(fechaEsto)) &-& cstr(mes(fechaEsto))
caso 11
FormatDat=cstr(año(fechaEsto)) &/& cstr(mes(fechaEsto))
caso 12
FormatDat= cstr(mes(fechaEsto)) &/& cstr(año(fechaEsto))
caso 22
FormatDat= arrMonthArray(mes(fechaEsto)) &-& cstr(año(fechaEsto))
caso 30
FormatDat= cstr(año(fechaEsto)) &-& cstr(mes(fechaEsto)) &-& cstr(día(fechaEsto)) & & hora(fechaEsto) &:& minuto(fechaEsto) &:& segundo(fechaEsto)
caso 40
FormatDat=cstr(año(fechaEsto)) &-& ZeroPad(cstr(mes(fechaEsto)),2) &-& ZeroPad(cstr(día(fechaEsto)),2)
caso mas
FormatDat=cstr(año(fechaEsto)) &-& cstr(mes(fechaEsto)) &-& cstr(día(fechaEsto))
finalizar seleccionar
terminar si
Función final
'******************
'FormatoCur
'******************
Formato de función públicaCur (valor ByVal, ByVal vDecimal)
FormatCur=Formatomoneda(ToCur(Valor),ToInt(vDecimal))
Función final
Formato de función públicaNum(ByVal Value,ByVal vDecimal)
FormatNum=FormatNumber(ToDbl(Valor),ToInt(vDecimal))
Función final
' =================================================== ==============================
'otro formato
' =================================================== ==============================
Función pública ToPer (valor Byval, valor Byval0)
si Convert.ToDbl(valor0)<>0 entonces
ToPer = me.FormatNum( Convert.ToDbl(valor) / Convert.ToDbl(valor0) * 100,2 ) & %
demás
ToPer = 0,00%
terminar si
Función final
'****** valor -> Valor primer cambio de código a mayúsculas
Función pública FirstUppercase (valor ByVal)
valor0 = recortar(valor)
si len(valor0)=0 entonces
Primera mayúscula =
demás
Primera mayúscula = UCase(izquierda(valor0,1)) y derecha(valor0,len(valor0)-1)
terminar si
Función final
Función pública SafeSql (valor ByVal)
SafeSql = reemplazar(valor,','')
Función final
Fin de clase