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 小数点不能是其他的数字
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/30 16:05:05
PBZ ʎT3HW+ 155E) m VSsU:)djh;)5rp9%@Xe@m@C1t=uP( P[BIpc-X.?@! .cؒo+npr FA`&gTzOO2i>;|݉+S?>M"+p=hk!4 #uo.eP)%WU p2*QI~W:3,)B *W7'&GnϮx\Kl~ 6
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 小数点不能是其他的数字
VB 四舍五入
text1=1.58 a=2.0
text1=1.48 a=1.5
text1=2.98 a=3.0
text1=2.11 a=2.5
text1=-1.58 a=-2.0
text1=-1.48 a=-1.5
text1=1.00 a=1.0
求a的函数
小数点尾数是 .0 或 .5
小数点不能是其他的数字
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 小数点不能是其他的数字
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.5
End 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 Sub