Professional Documents
Culture Documents
tipo .NET
Runtime
tamanh
o
intervalo
Boolean
System.Boolean
4 bytes
True ou False
Byte
System.Byte
1 byte
Char
System.Char
2 bytes
Date
System.DateTime
8 bytes
Decimal
System.Decimal
12 bytes
+/-79,228,162,514,264,337,593,543,950,335
sem ponto decimal ; +/7.9228162514264337593543950335 com 28
casas a direita do decimal; o menor valor
diferente de zero algo em torno de
0.0000000000000000000000000001
Double
System.Double
8 bytes
-1.79769313486231E308 at
-4.94065645841247E-324 para valores
negativos; 4.94065645841247E-324 at
1.79769313486232E308 para valores positivos;
Integer
System.Int32
4 bytes
-2,147,483,648 at 2,147,483,647
Long
System.Int64
8 bytes
-9,223,372,036,854,775,808 at
9,223,372,036,854,775,807
Object
System.Object
(class)
4 bytes
Short
System.Int16
2 bytes
-32,768 at 32,767.
Single
System.Single
4 bytes
String
System.String
(class)
UserDefined
(herda de
Soma dos
System.ValueType) tamanhos
Type
(estrutura
)
dos seus
membros
Controles usados no
formulrio:
definido o saldo
Atual e o valor da
parcela da retirada.
Para simular as
retiradas usado um
loop que ser
executado at que o
saldo for maior que
zero onde do valor do
saldo atual ser
subtrado o valor da
parcela; a cada
interao
incrementamos um
contador para saber o
nmero de retiradas
que foi efetuada.
Abaixo temos o trecho
de cdigo usado :
While seuSaldo > 0
seuSaldo -=
parcela
totalRetiradas +=
End While
zero
While seuSaldo > 0
seuSaldo -= parcela
totalRetiradas += 1
'exibimos o total de retiradas e o saldo no ListBox
lstbResultado.Items.Add("Retirou " & totalRetiradas & "
parcela")
lstbResultado.Items.Add("Saldo Atual: " & seuSaldo)
End While
'Aps encerrar o lao exibimos o total de retiradas
lstbResultado.Items.Add("-----------------")
lstbResultado.Items.Add("Voc retirou " & totalRetiradas &
" parcelas!")
End Sub
Vamos agora verificar se a lgica esta correta testando executando o
programa e fazendo alguns testes:
a-) Teste com saldo inicial igual a R$ 100,00 e parcela igual a 10,00:
Dessa forma o saldo no menor que zero permitindo assim uma nova
retirada.
Desta forma um pequeno detalhe poderia dar uma grande dor de cabea.
Um Double possui um tamanho de 8 bytes e atua no intervalo de :
-1.79769313486231E308 at -4.94065645841247E-324
Como resolver o problema no permitindo que a diferena seja
computada ?
VB6
VB.NET
Comentrios
Integer
Short
16 bits
Long
Integer
32 bits
N/A
Long
64 bits
Variant
N/D
Currency N/D
N/D
Decimal
String
String
Para usar o tipo de dados Decimal no VB6 voc pode declarar a varivel como
Variant e usar a funo cDec para convert-la para Decimal.
O VB no vai reclamar e no indicar erro neste cdigo seu projeto vai rodar
bem at que voc tente fazer a converso de um nmero maior que 32.767 ,
ai sim vai ocorrer um erro na sua aplicao...
Se ativarmos a opo Option Strict o cdigo fica assim :
Option Strict On
Private Sub Calculo(NumeroMaior as
Int32 , NumeroMenor as Int16)
Dim troca as int32
troca = NumeroMaior
NumeroMenor = troca
if NumeroMaior >
NumeroMenor.Value then
MessageBox " Ateno !
Este nmero no suporta a
converso "
else
NumeroMenor =
Ctype(troca, Int16)
endif
End Sub
End Sub
Com a opo Option Strict ativada , a coisa muda de figura. Durante a fase de
projeto o VB.NET ir sublinhar o cdigo e ser gerado um erro em tempo de
compilao. O VB.NET no permite a voc usar o cdigo sem fazer a
modificao explcita ( manual ) . Voc avisado em tempo e pode ajustar o
seu cdigo.
Fun
o
Descrio
Exemplo
Cbool
Dim A, B, C As Integer
Dim Check As Boolean
A=5
B=5
Check = CBool(A = B) '
Check ser True.
' ...
C=0
Check = CBool(C) ' Check
ser False.
Cbyte
CChar
Dim MyDateString,
MyTimeString As String
Dim MyDate, MyTime As Date
MyDateString = "February 12,
1969"
MyTimeString = "4:35:47 PM"
' ...
MyDate =
CDate(MyDateString) '
Converte p/ o tipo Date.
MyTime =
CDate(MyTimeString) '
Converte p/ o tipo Date.
CDate
CDbl
CDec
'
MyDouble = 10000000.0587
MyDecimal =
CDec(MyDouble) ' Converte
para Decimal.
CInt
CLng
CSht
CStr
CSng
CObj
Ctype
'
'
'
Ctype( TipoVelho ,
NovoTipo)
'
'
Nota:
1. Se a expresso submetida a funo estiver fora do intervalo do tipo de
dados para o qual voc quer converter ocorrer um erro
2. Usamos estas funes para forar que o resultado de uma operao seja de
3.
4.