In lesson 11, we have learned how to write codes in Visual Basic 2013 that perform mathematical operations. However, to carry out more complex mathematical calculations, we need to use the built-in math functions in Visual Basic 2013. There are numerous built-in mathematical functions in Visual Basic 2013 that we shall introduce them one by one in this lesson.
18.1 The Abs function
The Abs function returns the absolute value of a given number.
The syntax is
Math. Abs (number)
* The Math keyword here indicates that the Abs function belongs to the Math class.
In this example, we add a text box control for the user to input his or her number and a label control to display the absolute value of the number. We use the Val function to convert text to a numeric value. Rename the textbox as TxtNum and the label as LblAbs.
Private Sub BtnComp_Click(sender As Object, e As EventArgs) Handles BtnComp.Click LblAbs.Text = Math.Abs(Val(TxtNum.Text)) End Sub
18.2 The Exp function
The Exp function returns the exponential value of a given number. For example, Exp(1)=e=2.71828182
The syntax is
In this example, we shall add a text box control for the user to input his or her number and a label control to display the exponential value of the number. Rename the textbox as TxtNum and the label as LblAbs.
Private Sub BtnComp_Click(sender As Object, e As EventArgs) Handles BtnComp.Click LblExp.Text = Math.Exp(Val(TxtNum.Text)) End Sub
18.3 The Fix Function
The Fix function truncates the decimal part of a positive number and returns the largest integer smaller than the number. However, when the number is negative, it returns the smallest integer larger than the number. Fix does not belong to the Math class, therefore, we do not use the Math keyword.
Private Sub BtnComp_Click(sender As Object, e As EventArgs) Handles BtnComp.Click LblFixNum1.Text = Fix(Val(TxtPosNum.Text)) LblFixNum2.Text = Fix(Val(TxtNegNum.Text)) End Sub
18.4 The Int Function
The Int is a function that converts a number into an integer by truncating its decimal part and the resulting integer is the largest integer that is smaller than the number. For example
Int(2.4)=2, Int(6.9)=6 , Int(-5.7)=-6, Int(-99.8)=-100
18.5 The Log Function
The Log function is the function that returns the natural logarithm of a number.
Private Sub BtnComp_Click(sender As Object, e As EventArgs) Handles BtnComp.Click LblLog.Text = Math.Log(Val(TxtNum.Text)) End Sub
18.6 The Rnd( ) Function
We use the Rnd function to write code that involves chance and probability. The Rnd function returns a random value between 0 and 1. Random numbers in their original form are not very useful in programming until we convert them to integers. For example, if we need to obtain a random output of 6 integers ranging from 1 to 6, which makes the program behave like a virtual dice, we can convert the random numbers to integers using the formula Int(Rnd*6)+1.
Private Sub BtnGen_Click(sender As Object, e As EventArgs) Handles BtnGen.Click LblRnd.Text = Int(VBMath.Rnd() * 6) + 1 End Sub
Notice that the Rnd() function belongs to the VBMath class in Visual Basic 2013. This is different from Visual Basic 2012, where you can omit the VBMath keyword.
In this example, Int(VBMath.Rnd*6) will generate a random integer between 0 and 5. The function Int truncates the decimal part of the random number and returns an integer. After adding 1, you will get a random number between 1 and 6 every time you click the command button. For example, let say the random number generated is 0.98, after multiplying it by 6, it becomes 5.88, and using the integer function Int(5.88) will convert the number to 5, and after adding 1 you will get 6.
*We shall learn how to create an animated dice using a Timer control in later lesson
18.7 The Round Function
The Round function is the function that rounds up a number to a certain number of decimal places. The syntax is
Round (n, m)
which means to round a number n to m decimal places. For example,
Math.Round (7.2567, 2) =7.26
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Label1.Text = Math.Round(Val(TextBox1.Text), 2) End Sub