方法有多种,看你要怎么用了。
创新互联专注于嘉峪关企业网站建设,自适应网站建设,商城系统网站开发。嘉峪关网站建设公司,为嘉峪关等地区提供建站服务。全流程定制网站制作,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
一、判断是否为数字且是否包含小数点:
IsNumeric(Text1) And InStr(1, Text1, ".", vbTextCompare)=0
二、计算:
Int(Val(Text1)) = Text1
三、正则表达式:
[0-9]{1,}
double是双精度 有效数值位52位 表示成指数的形式 即指数11位 即表示成
所以180.89305用2进制表示是10110100.1110010010011110111011001011111110110001010110110101
即
180.89305在double中存在的实际数值是
1.01101001110010010011110111011001011111110110001010110110101 *2^7
取小数点后 52位有效值后 等于10进制的180.893049999999998
所及加最后变成了 1808930.99999999998
第一次当然输出近似值1808931
第二次int函数去掉了小数点后的数int就是只取整数的部位的不是四舍五入 所以少了1
q/x不为整数,写成VB应该是
if int(q/x)q/x then '表达式不为整数
若满意请及时采纳,谢谢
Sub Main()
Dim i, j As Integer
Dim tmpStr As String
Console.WriteLine("please input a integer")
tmpStr = Console.ReadLine()
If IsNumeric(tmpStr) And InStr(tmpStr, ".") 1 Then
判断输入是否是整数,IsNumeric(tmpStr) 是判断是否是数字,InStr(tmpStr, ".")是判断是否有小数点.
i = CType(tmpStr, Integer)
Else
MsgBox("not a valid integer!")
Exit Sub
End If
Console.WriteLine("please input another integer")
tmpStr = Console.ReadLine()
If IsNumeric(tmpStr) And InStr(tmpStr, ".") 1 Then
j = CType(tmpStr, Integer)
Else
MsgBox("not a valid integer!")
Exit Sub
End If
Console.WriteLine("the avg is : " ((i + j) / 2).ToString "press enter to exit...")
Console.ReadLine()
End Sub
Integer 变量以带符号的 32 位(4 个字节)整数形式存储,取值范围为 -2,147,483,648 到 2,147,483,647。
Integer 数据类型在 32 位处理器上提供最佳性能,此时较小的整型在内存中写入和读出的速度要慢一些。
可将 Integer 数据类型转换为 Long、Single、Double 或 Decimal,而不会出现 System.OverflowException 错误。
警告 如果您要建立与用 Visual Basic 6.0 编写的组件(例如自动化对象或 COM 对象)的接口,请牢记 Integer 在 Visual Basic 6.0 中具有不同的数据宽度(16 位)。若将一个 16 位参数传递给这样的组件,在 Visual Basic .NET 中应将其声明为 Short 而不是 Integer。
在文本后追加文本类型字符 I 可将其强制转换成 Integer 数据类型。在任何标识符后追加标识符类型字符 % 可将其强制转换成 Integer 数据类型。
等价的 .NET 数据类型是 System.Int32。
没有“十进制整数型表示范围”的说法,是整型或长整型类型的表示范围,每种数值类型都有常数,如Integer的最大值和最小值:Integer.MaxValue ,Integer.MinValue 。鼠标停留在这个语句上时会显示它的数值的。integer是32位的,大概有个20亿的正负值吧。