vb中integer类型四舍五入问题。

我的程序很简单,是这样的PrivateSubCommand1_Click()DimaAsStringa=Val(Text1.Text)MsgBox"结果为:"&CInt(... 我的程序很简单,是这样的
Private Sub Command1_Click()
Dim a As String
a = Val(Text1.Text)
MsgBox "结果为:" & CInt(a)
End Sub
运行这个程序时, 我在text1中输入的每一个偶数后带.5都不会进行四舍五入
比如说2.5, 4.5, 8.6, 12.5 124.5 ,这些数运行后是小数点前的整数,并没有四舍五入,如果改成.6就会四舍五入了,这是为什么。
我现在还是初学者,希望大家可以仔细的说明下。
展开
 我来答
CdPzh
推荐于2018-03-13 · TA获得超过3064个赞
知道小有建树答主
回答量:641
采纳率:0%
帮助的人:757万
展开全部
有个国家标准GB3101-93,在其附录B中对数值的修约有详细规定。
简明口诀为 “4舍6入5看齐,奇进偶不进 ”。再详细点说,就是
4舍6入5看右
5右有数便进1
5右为0看左方
左为奇数要进1
左为偶数全舍去
2.5,4.5等,都因为“5后为0看左方,左为偶数全舍去”,就成了2,4等。
.6就不用说了,因为“6入”。
还有Cint(3.5)=4,因为“左为奇数要进1”
Cint(4.5)=4,因为“左为偶数全舍去”。
瑞安阿芳
推荐于2017-12-16 · TA获得超过1947个赞
知道小有建树答主
回答量:749
采纳率:100%
帮助的人:903万
展开全部
四舍六入,逢五配双
也就是说小数后是5的话,整个数被置为双数(偶数)
追问
那为什么像1.5, 13.5这样小数点前是奇数的可以四舍五入得到2,14
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bdb9803
2012-06-16 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:53%
帮助的人:1亿
展开全部
MsgBox "结果为:" & CInt(a+0.5)
追问
为什么要加上0.5呢?像1.5,13.5,133.5这样小数点前是奇数的就可以四舍五入得到2,14,134。
追答
因为Cint函数做不到四舍五入,所以加上0.5再取整,就可以达到你的要求
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式