Usando alguns métodos do namespace System.Math

 

O VB.NET trouxe uma verdadeiro arsenal de propriedades , métodos e funções que facilitam a vida do programador Visual Basic. Neste artigo vou mostrar alguns métodos presentes no namespace System.Math que realiza operações matemáticas . Vou apresentá-los :

 

1- Método  System.Math.Ceiling

 

Public Shared Function Ceiling(    ByVal numero As Double ) As Double

 

Recebe como parâmetro o número  e faz o arredondamento para o menor número entre o número e sua parte inteira. Assim Floor(1.1) irá retornar 1. Faz um arredondamento para 'baixo'.

 

Ex:

 
Resultado
System.Console.Writeline("  Resultado " & System.Math.Floor(1.1) )
System.Console.Writeline("  Resultado " & System.Math.Floor(1.5) ) 
System.Console.Writeline("  Resultado " & System.Math.Floor(1.8) )
1

1

1

 

2- Método  System.Math.Floor

 

Public Shared Function Floor(    ByVal numero As Double ) As Double

 

Recebe como parâmetro um número do tipo Double e retorna o valor arredondado para o maior número entre parte inteira do número e o número. Assim Ceiling(1.1) irá retornar 2 . Faz um arredondamento para 'cima'.

 

Ex:

 
Resultado
System.Console.Writeline("  Resultado " & System.Math.Ceiling(1.2) )
System.Console.Writeline("  Resultado " & System.Math.Ceiling(1.6) )
System.Console.Writeline("  Resultado " & System.Math.Ceiling(1.8) )
2

2

2

 

3- Método System.Math.Power

 

Public Shared Function Pow(ByVal x As Double, ByVal y As Double ) As Double

 

Retorna o resultado de um número elevado a outro número.

 

Ex:

 
Resultado
System.Console.WriteLine(" 2 elevado a 3 = " & System.Math.Pow(2, 3))
System.Console.WriteLine(" 3 elevado a 4 = " & System.Math.Pow(3, 4))
System.Console.WriteLine(" 5 elevado a 3 = " & System.Math.Pow(5, 3))
8
81
125

 

4- Método System.Math.Round

 

Recebe um número do tipo Double ou Decimal (dependendo de qual método e qual parâmetro você usar) e retorna o valor arredondado mais próximo do número informado. Assim round(1.49) irá ser arredondado para 1.5 . Se você desejar arredondar usando dois dígitos : round(1.456,2) irá obter 1.46 . Perceba que o arredondamento leva em conta a casa decimal . Assim round(1.444 , 2) irá resultar em 1.44 enquanto que round(1.446,2) resultará em 1.45.

 

Temos as seguintes possibilidades :

 

Overloads Public Shared Function Round(   ByVal value As Double,   ByVal digits As Integer ) As Double
Overloads Public Shared Function Round(   ByVal a As Double ) As Double
Overloads Public Shared Function Round(   ByVal d As Decimal,  ByVal decimals As Integer ) As Decimal

 

Ex:

 
Resultado
System.Console.WriteLine(" 1.49 = " & System.Math.Round(1.49, 1))
System.Console.WriteLine(" 1.50 = " & System.Math.Round(1.5, 1))
System.Console.WriteLine(" 1.51 = " & System.Math.Round(1.51, 1))
System.Console.WriteLine(" 2.449 = " & System.Math.Round(2.449, 2))
System.Console.WriteLine(" 2.509 = " & System.Math.Round(2.509, 2))
System.Console.WriteLine(" 3.474 = " & System.Math.Round(3.47, 2))
System.Console.WriteLine(" 3.559 = " & System.Math.Round(3.5, 2))
1,5
1,5
1,5
2,45
2,51
3,47
3,5

 

Obs: se você importar o namespace no seu código : Imports System.Math não precisará informar todo caminho usado pelos métodos.

 

Nota : Para arredondar usando o VB 6 você lembra como fazer ? Não ?? veja a função abaixo:

 

Public Function ArredondaNumero(NumeroInformado As Variant, CasasDecimais As Integer) As Variant


    Dim Temp As Double, Decimais As Long


    Temp = CDbl(NumeroInformado)
    Decimais = 10 ^ CasasDecimais
    ArredondaNumero = (Fix((Temp + 0.5 / Decimais) * Decimais)) / Decimais


End Function

 

Agora é só você usar ... fique a vontade... em breve vamos mostrar mais sobre o assunto...

 


José Carlos Macoratti