A segunda classe importante é para conversão de tipo. O nome da classe é Con_Convert. Ele é instanciado no início do código da página. O nome do objeto é Convert, que empresta o nome do objeto da conversão do tipo .net. conversão de tipo. O uso direto da função de conversão de tipo fará com que o programa relate um erro porque a variável está vazia ou tem um formato incorreto, e esse erro é permitido na maioria dos casos, por exemplo, se você deseja converter uma variável de string em uma variável. número, se a variável estiver vazia, geralmente você precisará Retornar automaticamente 0.
Outra função importante é encapsular operações de formatação variável, que podem manter o formato de saída uniforme de todo o site, como formato de hora, formato de moeda, etc. Ao formatar datas e moedas, é muito fácil encontrar erros devido a valores nulos. Geralmente, tenho que escrever uma lógica para pré-julgar o valor nulo e depois formatar a variável. Depois de usar essa classe para ser responsável pela conversão de tipo e saída formatada, não preciso me preocupar com esses detalhes triviais, que podem muito. melhorar meu humor de programação.
Existem também outras funções de formatação que foram adicionadas, como Convert.ToPer() é usado para converter números em porcentagens, Convert.FirstUppercase() é usado para colocar a primeira letra em maiúscula... Você pode de acordo com suas próprias necessidades, Feel livre para estender esta aula e não se esqueça de compartilhá-la com todos.
Algumas funções básicas podem ser usadas casualmente se forem escritas casualmente, mas quando encontrarem circunstâncias especiais, elas precisam ser reescritas. Por exemplo, o método Convert.ToInt() que escrevi converte variáveis em números inteiros. está vazio. Caso contrário, basta usar Cint(). Mas quando uma variável excede o intervalo, você deve determinar se ela está dentro do intervalo de números inteiros, então escrevi um método privado IsOverflowInteger() para determinar se o valor da variável é um número dentro de um determinado intervalo, acredito. basicamente pode lidar com todas as situações.
Então eu acho que ainda existem muitos métodos na classe Convert que precisam ser melhorados. Se você tiver funções melhores e mais completas, compartilhe-as para que possam se tornar a classe de processamento de variáveis mais padrão em ASP e não precisem mais. confie neles. Essas funções limitadas no ASP.
Alguns dos métodos mais importantes estão listados abaixo. Consulte o código para obter detalhes específicos.
Tipo de julgamento:
Convert.IsInteger(ByVal Value) determina se é um número inteiro, apenas sinais 0~9 e - são permitidos
Convert.IsInt(ByVal Value) determina se é do tipo int. É semelhante ao seguinte e não há necessidade de explicação.
Convert.IsLng (valor ByVal)
Convert.IsDecimal (Valor ByVal)
Convert.IsSng (valor ByVal)
Convert.IsDbl (valor ByVal)
Convert.IsCur (Valor ByVal)
Convert.IsBln (valor ByVal)
Convert.IsDat (Valor ByVal)
Convert.IsArr (valor ByVal)
Conversão de tipo:
Convert.ToStr (valor ByVal)
Convert.ToInt (valor ByVal)
Convert.ToLng (valor ByVal)
Convert.ToSng (valor ByVal)
Convert.ToDbl (valor ByVal)
Convert.ToBln (valor ByVal)
Convert.ToCur (Valor ByVal)
Convert.ToDat (valor ByVal)
formatar:
Formatação de data Convert.FormatDat (ByVal Value, ByVal vStyle)
Convert.FormatCur(ByVal Value,ByVal vDecimal) formatação de moeda
Convert.FormatNum(ByVal Value,ByVal vDecimal) Formatação de número
Outra formatação:
Convert.ToPer(Byval valor,Byval valor0) Porcentagem, com %
Convert.FirstUppercase(ByVal value) Coloque a primeira letra em maiúscula
Convert.SafeSql (valor ByVal) substitui 'for' em sql
O código é o seguinte: (Não sei como inserir código e não sei como funciona o CSDN. Quando você clica para inserir código, é um <textarea>, não um estilo de dobramento de código. Por favor, pergunte amigos que sabem disso para obter conselhos.)
Copie o código do código da seguinte forma:
Classe Con_Convert
'******mensagem global
privado i,j,valor0,valor1,valor2
Subclasse Privada_Initialize
Finalizar sub
Subclasse Privada_Terminate
Finalizar sub
' ================================================ =============================
' Verifica tipo, retorna verdadeiro/falso
' ================================================ =============================
Função pública IsStr (valor ByVal)
IsStr = verdadeiro
Função final
'****** verifica string se for inteiro
Função pública IsInteger (valor ByVal)
se Trim(Value)= ou IsNull(Value) ou IsEmpty(Value) então
ÉIsInteger=falso
outro
ÉInteger = Verdadeiro
valor0=Cortar(Valor)
Para i = 1 Para len(valor0)
Se Asc(Mid(valor0, i, 1))>= Asc(0) e Asc(Mid(valor0, i, 1)) <= Asc(9) Então
Outro
se Asc(Mid(valor0, i, 1))= Asc(-) e i=1 então
outro
ÉInteger = falso
Sair para
terminar se
Terminar se
Próximo
terminar se
Função final
'****** verifica se o valor está no intervalo de números inteiros
'Só usar nesta classe
' Valor:
' vLimite: máx.
Função privada IsOverflowInteger (ByVal Value, ByVal vBound)
se IsInteger(Value) e IsInteger(vBound) então
IsOverflowInteger=falso
valor0=cortar(valor)
valor1=cortar(vBound)
se IsOverflowInteger = falso então
'deleta 0 da esquerda
faça while (esquerda(valor0,1)=0 ou esquerda(valor0,1)=- )
valor0=direito(valor0,len(valor0)-1)
laço
faça while (esquerda(valor1,1)=0 ou esquerda(valor1,1)=- )
valor1=direito(valor1,len(valor1)-1)
laço
se len(valor0)=len(valor1) então
para i=1 para len(valor0)
se Asc(mid(valor0,i,1)) > Asc(mid(valor1,i,1)) ou Asc(mid(valor0,i,1)) > Asc(9) ou Asc(mid(valor0,i, 1)) < Asc(0) então
IsOverflowInteger=true
saída para
terminar se
próximo
outro
se len(valor0)>len(valor1) então
IsOverflowInteger=true
terminar se
terminar se
terminar se
outro
IsOverflowInteger=true
terminar se
Função final
Função pública IsInt (valor ByVal)
ÉInt = verdadeiro
se esquerda(trim(valor),1)=- então
se IsOverflowInteger(trim(valor),-32768) então
ÉInt=falso
terminar se
outro
se IsOverflowInteger(trim(valor),32767) então
ÉInt=falso
terminar se
terminar se
função final
Função pública IsLng (valor ByVal)
ÉLng = verdadeiro
se esquerda(trim(valor),1)=- então
se IsOverflowInteger(trim(valor),-2147483648) então
ÉLng=falso
terminar se
outro
se IsOverflowInteger(trim(valor),2147483647) então
ÉLng=falso
terminar se
terminar se
Função final
'******************************************
'Decimal
'******************************************
'****** verifica a string se for decimal
Função privada IsDecimal (valor ByVal)
dim intDecimalCount
intDecimalCount=0
se Trim(Value)= ou IsNull(Value) ou IsEmpty(Value) então
ÉDecimal=falso
outro
ÉDecimal = Verdadeiro
valor0=Cortar(Valor)
Para i = 1 Para len(valor0)
Se Asc(Mid(valor0, i, 1))>= Asc(0) e Asc(Mid(valor0, i, 1)) <= Asc(9) Então
Outro
selecione o caso Asc(Mid(valor0, i, 1))
caso Asc(-)
se eu=1 então
outro
ÉDecimal = falso
Sair para
terminar se
caso Asc(.)
se intDecimalCount<2 então
intDecimalCount=intDecimalCount + 1
outro
ÉDecimal = falso
Sair para
terminar se
caso mais
ÉDecimal = falso
Sair para
final selecionar
Terminar se
Próximo
terminar se
Função final
'****** verifica se o valor está na faixa decimal
'Só usar nesta classe
' Valor:
'vBound:
Função privada IsOverflowDecimal (valor ByVal, ByVal vBound)
se Trim(Value)= ou IsNull(Value) ou IsEmpty(Value) ou Trim(vBound)= ou IsNull(vBound) ou IsEmpty(vBound) então
IsOverflowDecimal=true
outro
terminar se
Função final
Função pública IsSng (valor ByVal)
IsSng=IsDecimal(valor)
' -3402823000000000000000000000000000000 ~ -0,00000000000000000000000000000000000000001401298
' 0,000000000000000000000000000000000000001401298 ~ 34028230000000000000000000000000000
' -3.402823 E38 ~ -1.401298 E-45
' 1.401298 E-45 ~ 3.402823 E38
Função final
Função pública IsDbl (valor ByVal)
IsDbl=IsDecimal(valor)
' -1.79769313486232 E308 ~ -4.94065645841247 E-324
' 4.94065645841247 E-324 ~ 1.7976931348623 E308
Função final
Função pública IsCur (valor ByVal)
IsCur=IsDecimal(valor)
'-922337203685477.5808 ~ 922337203685477.5807
Função final
Função pública IsBln (valor ByVal)
se Valor=verdadeiro ou Valor=falso ou trim(Valor)=1 ou trim(Valor)=0 então
ÉBln=verdadeiro
outro
ÉBln=falso
terminar se
Função final
Função pública IsDat (valor ByVal)
se Trim(Value)= ou IsNull(Value) ou IsEmpty(Value) então
ÉDat=falso
outro
ÉDat = ÉData(Valor)
terminar se
Função final
Função pública IsArr (valor ByVal)
se Trim(Value)= ou IsNull(Value) ou IsEmpty(Value) então
ÉArr=falso
outro
IsArr=IsArray(Valor)
terminar se
Função final
' ================================================ =============================
'Tipo de conversão, valor de retorno/valor inicial
' ================================================ =============================
Função pública ToStr (valor ByVal)
ToStr=cortar(Valor)
Função final
Função pública ToInt (valor ByVal)
se IsInt(Valor) então
ToInt=Cint(Valor)
outro
ToInt=0
terminar se
Função final
Função pública ToLng (valor ByVal)
se forLng(Valor) então
ToLng=clng(Valor)
outro
ToLng=0
terminar se
Função final
Função pública ToSng (valor ByVal)
se IsSng(Valor) então
ToSng=cSng(Valor)
outro
ParaSng=0
terminar se
Função final
Função pública ToDbl (valor ByVal)
se IsDbl(Valor) então
ToDbl=cDbl(Valor)
outro
ToDbl=0
terminar se
Função final
Função pública ToBln (valor ByVal)
se forBln(valor) então
ToBln=cbool(Valor)
outro
ToBln=falso
terminar se
Função final
'****** vDecimal: número de casas decimais
Função pública ToCur (valor ByVal)
se ÉCur(Valor) então
ToCur=ccur(Valor)
outro
ParaCur=0
terminar se
Função final
'****** vType: formato da data
Função pública ToDat (valor ByVal)
se IsDat(Valor) então
ToDat=cdata(valor)
outro
AtéDat=
terminar se
Função final
' ================================================ =============================
'Formatar
' ================================================ =============================
'********************************************** ***
'FormatarDat
'data v
'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:2008-01-09
Função pública FormatDat (ByVal Value, ByVal vStyle)
data escuraThis,intStyle
dateThis=ToDat(Valor)
intStyle=ToInt(vStyle)
se dateThis= ou isnull(dateThis) então
FormatoDat =
outro
Dim arrMonthArray(12)
arrMonthArray(1)=JAN
arrMonthArray(2)=FEVEREIRO
arrMonthArray(3)=MAR
arrMonthArray(4)=APR
arrMonthArray(5)=MAIO
arrMonthArray(6)=JUN
arrMonthArray(7)=JUL
arrMonthArray(8)=AGO
arrMonthArray(9)=SET
arrMonthArray(10)=OUTUBRO
arrMonthArray(11)=NOV
arrMonthArray(12)=DEZ
selecione o caso intStyle
caso 1
FormatDat=cstr(ano(dataEsta)) &/& cstr(mês(dataEsta)) &/& cstr(dia(dataEsta))
caso 2
FormatDat= cstr(mês(dataEsta)) &/& cstr(dia(dataEsta)) &/& cstr(ano(dataEsta))
caso 3
FormatDat= cstr(dia(dataEsta)) &/& cstr(mês(dataEsta)) &/& cstr(ano(dataEsta))
caso 4
FormatDat= cstr(dia(dataEste)) &-& arrMonthArray(mês(dataEste)) &-& cstr(ano(dataEste))
caso 10
FormatDat=cstr(ano(dataEsta)) &-& cstr(mês(dataEsta))
caso 11
FormatDat=cstr(ano(dataEsta)) &/& cstr(mês(dataEsta))
caso 12
FormatDat= cstr(mês(dataEsta)) &/& cstr(ano(dataEsta))
caso 22
FormatDat= arrMonthArray(mês(dataEsta)) &-& cstr(ano(dataEsta))
caso 30
FormatDat= cstr(ano(dateThis)) &-& cstr(mês(dateThis)) &-& cstr(day(dateThis)) & & hour(dateThis) &:& minuto(dateThis) &:& segundo(dateThis)
caso 40
FormatDat=cstr(ano(dataEsta)) &-& ZeroPad(cstr(mês(dataEsta)),2) &-& ZeroPad(cstr(dia(dataEsta)),2)
caso outro
FormatDat=cstr(ano(dataEsta)) &-& cstr(mês(dataEsta)) &-& cstr(dia(dataEsta))
final selecionar
terminar se
Função final
'******************
'FormatCur
'******************
Função pública FormatCur (valor ByVal, ByVal vDecimal)
FormatCur=Formatomoeda(ToCur(Valor),ToInt(vDecimal))
Função final
Função pública FormatNum (valor ByVal, ByVal vDecimal)
FormatNum=FormatNumber(ToDbl(Valor),ToInt(vDecimal))
Função final
' ================================================ =============================
'outro formato
' ================================================ =============================
Função pública ToPer (valor Byval, valor Byval0)
se Convert.ToDbl(valor0)<>0 então
ToPer = me.FormatNum( Convert.ToDbl(valor) / Convert.ToDbl(valor0) * 100,2 ) & %
outro
ToPer = 0,00%
terminar se
Função final
'****** valor -> Valor primeiro código alterado para maiúscula
Função pública FirstUppercase (valor ByVal)
valor0 = cortar(valor)
se len(valor0)=0 então
Primeira Maiúscula =
outro
Primeira maiúscula = UCase(esquerda(valor0,1)) e direita(valor0,len(valor0)-1)
terminar se
Função final
Função pública SafeSql (valor ByVal)
SafeSql = substituir(valor,','')
Função final
Fim da aula