十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
直接用int就可以了。
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、网站制作、固安网络推广、微信小程序开发、固安网络营销、固安企业策划、固安品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供固安建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
int(2310.125)=2310
如果需要自定义格式输出,就要用tostring方法,比如:
2310.231.tostring("0")的结果就是2310。
如果你要去掉个位数,看来只有(2310.231/10).tostring("0")了。
详细的ToString里面的参数,请看MSDN。我查了一下,有,地址是:
我靠.你这个要求奇葩哦.都是控制一列的数据类型.你要这样.那你数据库就全部定义成双精度的类型.在读取的时候.
当前行为第一行的CTYPE(内容,De....) 忘记了.这样你第一行就是带小数点的
判断当前行数大于1.全部 CTYPE(内容,INTEGER) 就可以了. 这样一来.第二行开的的全部都是整数型的了
'自定义一个函数:功能是给小数直接进一位
'num 要操作的小数
'n 保留几位小数,
Function getNumber(num As Double, n As Integer) As Double
Dim a As Double
a = Int(num * (10 ^ n)) / (10 ^ n)
If a = num Then
getNumber = a
Else
getNumber = a + 1 / (10 ^ n)
End If
End Function
-------------------------
调用一下:
Private Sub Command1_Click()
MsgBox (getNumber(3.1415926, 2))
End Sub
得到3.15
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