4.11.2007
O VBScript possui uma vasta gama de operadores – aritméticos, de concatenação, de comparação e lógicos.
Os operadores aritméticos básicos são os mesmos para todas as linguagens estudadas por nós durante o curso:
Soma (+)
Dim a, b, c
a = 11
b = 4
'Soma
c = a + b
Response.Write(c)
'Resultado: 15
Subtração (-)
'Subtração
c = a - b
'Resultado: 7
Response.Write(c)
Multiplicação (*)
'Multiplicação
c = a * b
'Resultado: 44
Response.Write(c)
Divisão (/)
'Divisão
c = a / b
'Resultado: 2,75
Response.Write(c)
Os próximos operadores aritméticos não são tão triviais assim…
Divisão inteira (\) – retorna a porção inteira do resultado
'Divisão inteira
c = a \ b
'Resultado: 2
Response.Write(c)
Resto (mod)
'Resto
c = a mod b
'Resultado: 3
Response.Write(c)
Exponenciação (^)
'Exponenciação
c = a ^ b
'Resultado: 14641
Response.Write(c)
Para concatenar strings, podem ser utilizados dois operadores: o “+” (mais), que assim como no Javascript, pode ser usado para somar e para concatenar e o “&” (“e” comercial). Este último é usado exclusivamente para concatenar – concatenando até números. Para evitar confusões, recomendo o uso do “&” para concatenação.
Concatenação (& ou +)
'Concatenação
a = "Micro"
b = "camp"
c = a & b
'Resultado: Microcamp
Response.Write(c)
1 Comentário |
ASP + VBScript, SA110-06001, TQ200-05003 | Etiquetado: ASP + VBScript, operadores, vbscript |
Link Permanente
Escrito por Iran Rodrigues
4.11.2007
Veja como detectar o subtipo de uma variável no VBScript e avaliar se seu valor pode ser convertido ou não em um outro subtipo.
Na última aula, neste link, conhecemos os subtipos de valores do VBScript. Veremos agora como detectar o subtipo de uma variável, bem como converter seu valor de um subtipo para outro.
Valores numéricos
A função IsNumeric() retorna um valor lógico, indicando se o valor fornecido (entre parênteses) é um número ou pode ser convertido em tal.
Exemplos:
Dim valor
' valor recebe número inteiro
valor = 35
Response.Write(valor)
Response.Write(" é numérico? -> ")
' IsNumeric informa se a variável contém um número
Response.Write(IsNumeric(valor))
Response.Write("<br />")
' valor recebe string
valor = "abc"
Response.Write(valor)
Response.Write(" é numérico? -> ")
Response.Write(IsNumeric(valor))
Response.Write("<br />")
' valor recebe string com números
valor = "123"
Response.Write(valor)
Response.Write(" é numérico? -> ")
Response.Write(IsNumeric(valor))
Response.Write("<br />")
' valor recebe data (a data é inserida entre tralhas (cerquilhas, jogos-da-velha, etc) no formato mês/dia/ano)
valor = #11/24/2007#
Response.Write(valor)
Response.Write(" é numérico? -> ")
Response.Write(IsNumeric(valor))
Response.Write("<br />")
' valor recebe booleano
valor = True
Response.Write(valor)
Response.Write(" é numérico? -> ")
Response.Write(IsNumeric(valor))
Response.Write("<br />")
Com os exemplos acima, podemos perceber quais subtipos são considerados numéricos pelo VBScript. Estes valores considerados numéricos podem ser convertidos em um número propriamente dito usando uma das seguintes funções:
- CByte() – converte para um inteiro de subtipo byte;
- CInt() – converte para um inteiro de subtipo integer;
- CLng() – converte para um inteiro de subtipo long;
- CSng() – converte para um real de subtipo single;
- CDbl() – converte para um real de subtipo double.
A diferença entre os subtipos está na capacidade de armazenamento (por exemplo, o byte só suporta números entre 0 e 255) – lembrando que isso já foi visto na aula anterior.
Exemplos de conversões para valores numéricos (as conversões que resultam em estouro devem ser testadas e depois comentadas, para que o script não seja interrompido): Leia o resto deste post »
Deixar um comentário » |
ASP + VBScript, SA110-06001, TQ200-05003 | Etiquetado: ASP, subtipos, variáveis, vbscript |
Link Permanente
Escrito por Iran Rodrigues
4.11.2007
Nesta aula, vimos que qualquer variável declarada no VBScript possui um só tipo: Variant. Portanto, para armazenar números (inteiros ou não), strings, valores lógicos (booleanos), ou quaisquer outros valores, não é necessário o uso de variáveis de tipo específico.
Na prática, uma mesma variável pode ser utilizada para armazenar valores diversos, como no exemplo a seguir:
Dim valor
'valor recebe número inteiro
valor = 10
Response.Write(valor)
Response.Write("<br>")
'valor recebe número real
valor = 25.3
Response.Write(valor)
Response.Write("<br>")
'valor recebe string
valor = "Palavra"
Response.Write(valor)
Response.Write("<br>")
'valor recebe booleano
valor = True
Response.Write(valor)
Response.Write("<br>")
'valor recebe data no formato mês/dia/ano
valor = #11/1/2007#
Response.Write(valor)
Response.Write("<br>")
'valor recebe hora
valor = #20:44:15#
Response.Write(valor)
Response.Write("<br>")
Obs.: Percebam que, ao contrário do PHP (onde datas são introduzidas como números ou strings), no VBScript podemos atribuir diretamente uma data e/ou hora a uma variável, devendo o valor estar entre tralhas (jogo-da-velha). Internamente este valor é armazenado como um número.
A partir do valor atribuído a uma variável, é possível definir seu subtipo. Ou seja, embora uma variável não possua um tipo definido – sendo todas Variant – a depender do valor que ela armazena no momento, ela passa a pertencer a um subtipo. No código acima, a mesma variável – valor – recebeu valores diversos, o que resultou na constante mudança de seu subtipo.
Os subtipos em VBScript são os seguintes:
| Subtipo |
Descrição |
| Empty |
O valor é zero para variáveis numéricas ou uma string de tamanho zero (“”), para variáveis de texto. |
| Null |
A variável não contém dados válidos. |
| Boolean |
Contém True (Verdadeiro) ou False (Falso). |
| Byte |
Contém um número inteiro de 0 a 255. |
| Integer |
Contém um número inteiro de -32.768 a 32.767. |
| Currency |
Contém um número de -922.337.203.685.477,5808 a 922.337.203.685.477,5807. |
| Long |
Contém um número inteiro de -2.147.483.648 a 2.147.483.647. |
| Single |
Contém um número de ponto flutuante de precisão simples na faixa de -3,402823E38 a -1,401298E-45 para valores negativos ou de 1,401298E-45 a 3,402823E38 para valores positivos. |
| Double |
Contém um número de ponto flutuante de precisão dupla na faixa de -1,79769313486232E308 a -4,94065645841247E-324 para valores negativos ou de 4,94065645841247E-324 a 1,79769313486232E308 para valores positivos. |
| Date (Time) |
Contém um número representando uma data entre 1º de janeiro de 100 a 31 de dezembro de 9999. |
| String |
Contém uma string de tamanho variável que pode conter até aproximadamente 2 bilhões de caracteres. |
| Object |
Contém um objeto. |
| Error |
Contém um código numérico de erro. |
Nas próximas aulas, veremos funções que permitem identificar o atual subtipo de uma variável, bem como realizar conversões entre estes subtipos.
1 Comentário |
ASP + VBScript, SA110-06001, TQ200-05003 | Etiquetado: ASP + VBScript, subtipos, variáveis, vbscript |
Link Permanente
Escrito por Iran Rodrigues