VB 四舍五入text1=1.58 a=2.0text1=1.48 a=1.5text1=2.98 a=3.0text1

学习 时间:2026-03-30 15:13:44 阅读:7128
VB 四舍五入text1=1.58 a=2.0text1=1.48 a=1.5text1=2.98 a=3.0text1=2.11 a=2.5text1=-1.58 a=-2.0text1=-1.48 a=-1.5text1=1.00 a=1.0求a的函数小数点尾数是 .0 或 .5 小数点不能是其他的数字

最佳回答

灵巧的美女

乐观的早晨

2026-03-30 15:13:44

Private Sub Command1_Click()Dim a As Single    a = Round(Val(Text1。Text), 1) '四舍五入到小数点后一位:1。58运算结果为1。6,1。48结果为1。5    If Right(Format(a, "#。#"), 1)  <> "5" Then '判断小数点后一位是否等于5        a = Round(a) '若大于五,四舍五入到整数:1。6为2,1。5不满足条件,不运算    End If    Print Format(a, "0。0") '输出a,格式保留小数点后一位:2输出2。0,1。5还是输出1。5End Sub其他结果都对,但  text1=2。11        a=2。5  时,结果应该为a=2。0,你是怎么算出结果2。5的?不知道你的逻辑是什么,下面一段代码可以满足你要求,具体用上一段还是下一段,你自己决定:Private Sub Command1_Click()Dim a As Single    a = Round(Val(Text1。Text), 1) '四舍五入到小数点后一位    If Right(Format(a, "#。#"), 1) > "5" Or Right(Format(a, "#。#"), 1) = "。" Then '判断小数点后一位是否大于5或等于0        a = Round(a) '若大于五,四舍五入到整数    Else        a = Val(Str(Fix(a)) & 0。5) '若小于5且不等于0,则取整,为了省略判断正负号,所以直接转换为字符串处理,再转换回数字类型    End If    Print Format(a, "0。0") '输出a,格式保留小数点后一位End Su

最新回答共有2条回答

  • 大气的小懒虫
    回复
    2026-03-30 15:13:44

    Private Sub Command1_Click()Dim a As Single    a = Round(Val(Text1。Text), 1) '四舍五入到小数点后一位:1。58运算结果为1。6,1。48结果为1。5    If Right(Format(a, "#。#"), 1)  <> "5" Then '判断小数点后一位是否等于5        a = Round(a) '若大于五,四舍五入到整数:1。6为2,1。5不满足条件,不运算    End If    Print Format(a, "0。0") '输出a,格式保留小数点后一位:2输出2。0,1。5还是输出1。5End Sub其他结果都对,但  text1=2。11        a=2。5  时,结果应该为a=2。0,你是怎么算出结果2。5的?不知道你的逻辑是什么,下面一段代码可以满足你要求,具体用上一段还是下一段,你自己决定:Private Sub Command1_Click()Dim a As Single    a = Round(Val(Text1。Text), 1) '四舍五入到小数点后一位    If Right(Format(a, "#。#"), 1) > "5" Or Right(Format(a, "#。#"), 1) = "。" Then '判断小数点后一位是否大于5或等于0        a = Round(a) '若大于五,四舍五入到整数    Else        a = Val(Str(Fix(a)) & 0。5) '若小于5且不等于0,则取整,为了省略判断正负号,所以直接转换为字符串处理,再转换回数字类型    End If    Print Format(a, "0。0") '输出a,格式保留小数点后一位End Su

上一篇 星星和行星的区别是什么?

下一篇 一个圆形桌面的直径是1米,给这个桌面配一块玻璃,玻璃的面积至少是多少平方米?