作者nipsptt (nips)
看板Visual_Basic
标题Re: [VB6 ] 伪高斯计算法问题
时间Tue Jun 15 23:58:51 2010
VB浮点转整数是四舍六入 五进位成偶数
但这里的问题不在这里
而是在double处理的位数问题
也就是他算出的结果是20.999999999999999
用int之後变成20
这可能是早期pc的限制 (或许C也有同样问题)
改成CINT便没此问题
或用 CDEC
配合formatcurrency
有更高精度便无此问题
不过这真是一个大问题
尤其帮银行写程式时
因此不要使用那些旧的INT FIX ROUND
改用CINT与format比较保险
※ 引述《Emptys (我们要永远在一起)》之铭言:
: 我想要让它可以无条件舍去小数点部份
: 所以使用了下面的方法
: 我这样写的
: Private Sub Command1_Click()
: Label4 = Int(Text1 * 0.06)
: End Sub
: 照这样说~
: 他会回传整数部份给label
: 但是发现一个问题
: 当我输入350时
: 他却是回传出20
: 不是应该是21吗??
: 请问有高手知道是什麽问题吗??
: 指点我一下吧!!感恩~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.44.78.124