Visual Basic .NET/算术运算符
Visual Basic .NET 提供一组基本的运算符来计算简单的算术运算。
+ Addition
- Subtraction
* Multiplication
/ Division
\ Integer division
Mod Remainder Division
^ Exponentiation
& String concatenation
7 + 2 produces 9
7 - 2 produces 5
7 * 2 produces 14
7 / 2 produces 3.5
7 \ 2 produces 3
7 Mod 2 produces 1
7 ^ 2 produces 49
"7" & "7" produces "77"
在我们深入运算符本身之前,让我们看一个算术运算的简短示例。
在这个例子中,我们也会使用一些基本的变量。 Dim 运算符创建变量。
Dim Commission As Single
Dim Sales As Single
Sales = 3142.51
Commission = 0.3 * Sales ' Calculate 30% commission.
首先,我们将总销售额设置为 3142.51。
* 运算符计算乘法,因此最后一行等效于 。这意味着我们的第二步是将 0.3 和 Sales 相乘。Sales 是 3142.51,因此我们的结果应该是 0.3 和 3142.51 的乘积。
除了加法和减法之外,使用的符号与现实生活中使用的符号不同。这仅仅是因为其他符号在标准键盘上不可用。
Windows 的内置计算器是 Visual Basic .NET 中运算符的一个很好的参考。如果将计算器设置为科学模式,就可以访问与 .NET 中相同的运算符。
这将两个数字加在一起,用 "+" 符号表示。如果涉及字符串,它也可能进行字符串连接。示例
x = 7 + 2 ' Results in 9.
x = 25 + -4 ' Results in 21.
Dim StringA As String
StringA = "A string" + "Another string" ' Results in "A stringAnother string"
使用奇怪的符号,在执行期间将很容易解析。大多数情况下,这就是他们使用这些符号的原因。
还有一个加法运算符 "+="。它将 += 左侧的变量递增 += 右侧指示的量。
Dim x As Integer = 54
x += 89 ' result is 143
x += 7 ' result is 150
它也作为连接运算符与字符串一起使用。
Dim x As String = "A fox"
x += " jumped" ' result is "A fox jumped"
x += " over the fence" ' result is "A fox jumped over the fence"
这将两个数字相减,用 "-" 符号表示。示例
Dim x As Double = 12.045
Dim Y As Integer= 12
x = x-Y ' Results in .045.
x = 25 - -4 ' Results in 29.
Sub Main()
Dim x As Double = 12.045
Dim y As Integer = 12
System.Console.WriteLine(x - y)
System.Console.ReadKey()
End Sub
当从双精度浮点数中减去整数时要小心。上面的代码在打印时,结果将是 .04499999999999999 而不是显而易见的 .045。使用双精度浮点数来存储十进制值可能非常不准确。
这将两个数字相乘,用 "*" 符号表示。示例
Dim x As Integer
x = 7 * 2 ' Results in 14.
x = 25 * -4 ' Results in -100.
除法比 "/" 符号表示的除法类型更多。还有整数除法和余数除法。
- 除法
- 这是最常用的除法形式,用 "/" 运算符表示。示例
Dim x As Single
' (note that we must use the Single class to have decimals)
x = 7 / 2 ' Results in 3.5.
x = 25 / 4 ' Results in 6.25.
- 整数除法
- 这将两个数字相除,如果商是十进制数,则给出不带余数的结果。示例
Dim x As Integer
x = 7 \ 2 ' Results in 3.
x = 25 \ 4 ' Results in 6.
- 余数除法
- 这将两个数字相除,如果商是十进制数,则给出结果的余数。这用 "Mod" 运算符表示。示例
Dim x As Integer
x = 7 Mod 2 ' Results in 1.
x = 25 Mod 4 ' Results in 1.
这将一个数字提升到一个幂。例如, 在 VB .Net 代码中是
Dim x As Integer
x = 7 ^ 2 ' Results in 49.
这将导致数字 49 被分配给变量 x。它也可以用来计算一个数字的平方根。一个数字的平方根是指这个数字被提升到 0.5 的幂。
Dim x As Single
x = 7 ^ 0.5 ' Results in a number around 2.645.
注意:必须确保变量被正确声明才能获得期望的结果。以下示例可以正常工作,但会产生错误的结果。这是因为 Integer 类不允许小数位(就像数学整数一样)。
Dim x As Integer
x = 7 ^ 0.5 ' Results in 3.
由于 x 被声明为 Integer 类型,因此平方根的值(一个实数)存储不正确。
任何数字的 n 次根都可以通过将该数字提升到 的幂来计算。
Dim x As Single
Dim n As Single
n = 7
x = 2 ^ (1 / n)
这是因为 。
Round()
:舍入到最接近的整数。Floor()
:舍入到较小的整数。Ceiling()
:舍入到较大的整数。Truncate()
:截断小数位。
Module Module1
Sub Main()
Dim Number1 As Single = 1.5
Console.WriteLine(Math.Round(Number1)) ' 2
Console.WriteLine(Math.Floor(Number1)) ' 1
Console.WriteLine(Math.Ceiling(Number1)) ' 2
Console.WriteLine(Math.Truncate(Number1)) ' 1
Console.ReadLine()
End Sub
End Module
Max()
Min()
Module Module1
Sub Main()
Console.WriteLine(Math.Max(3, 4))
Console.ReadLine() ' 4
End Sub
End Module