vb 里有没有对小数进行 四舍五入 的函数? 用Format可以轻松搞定。format(a,"0.00") 这样就四舍五入保持2位小数。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上说的对,直接用Format就可以了,确定你要几位小数就可以了,后面的小数就会给四舍五入format(iTmp,"###0.00") format不好,返回值是String!看如下方法:Option ExplicitPrivate Sub Form_Load()Dim a, b As Longa = 3534.58649345b = -3 '指定你要舍入到小数点后的位数,0为舍到整数个位,-1为舍到整数十位......a = Int(a * (10 ^ b) + 0.5) / (10 ^ b)Debug.Print aEnd Sub format(3.3234834,"0.0000") '精确到四位 用 Round()Debug.Print Round(200.5) 'return 200Debug.Print Round(200.56) 'return 201Debug.Print Round(200.56, 1) 'return 200.6Debug.Print Round(200.56, 2) 'return 200.56 返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果。语法Round(expression [,numdecimalplaces])Round函数语法有如下几部分:部分 描述 expression 必需的。要进行四舍五入运算的数值表达式。 numdecimalplaces 可选的。数字值,表示进行四舍五入运算时,小数点右边应保留的位数。如果忽略,则Round函数返回整数。 Debug.Print Round(200.53, 1) 'return 200.5老兄你打算给我多少分?我到这里才一个月,分数很少.羡慕那些有星星的人。也想快些成星。 Round最好了,其他方法勉强凑合,赫赫。 可就是Round不是“四舍五入”而是“四舍六入五成双”离题了,无分 VB5不支持R O U N D !!! int 和 fix ,你可以看一下帮助! format() 返回的是 變體format$() 返回的是 string round()最标准了,规则是四舍六入五凑偶,就是说如果末尾是5则看前一位,如果前一位为偶数则舍去,是奇数则进位。 Int、Fix 函数 返回参数的整数部分。语法Int(number)Fix(number)必要的 number 参数是 Double 或任何有效的数值表达式。如果 number 包含 Null,则返回 Null。说明Int 和 Fix 都会删除 number 的小数部份而返回剩下的整数。Int 和 Fix 的不同之处在于,如果 number 为负数,则 Int 返回小于或等于 number 的第一个负整数,而 Fix 则会返回大于或等于 number 的第一个负整数。例如,Int 将 -8.4 转换成 -9,而 Fix 将 -8.4 转换成 -8。Fix(number) μèóú£oSgn(number) * Int(Abs(number))Int 函数,Fix 函数示例本示例说明 Int 及 Fix 函数在返回某数值的整数部分时有何不同。当参数为负数时,Int 函数返回小于或等于该参数之最大整数,而 Fix 函数则返回大于或等于该参数之最小整数。Dim MyNumberMyNumber = Int(99.8) ' 返回 99。MyNumber = Fix(99.2) ' 返回 99。MyNumber = Int(-99.8) ' 返回 -100。MyNumber = Fix(-99.8) ' 返回 -99。MyNumber = Int(-99.2) ' 返回 -100。MyNumber = Fix(-99.2) ' 返回 -99。Round函数 描述返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果。语法Round(expression [,numdecimalplaces])Round函数语法有如下几部分:部分 描述 expression 必需的。要进行四舍五入运算的数值表达式。 numdecimalplaces 可选的。数字值,表示进行四舍五入运算时,小数点右边应保留的位数。如果忽略,则Round函数返回整数。 建议将round包装一下在立即窗口算下面的值:Round(299.5,0)Round(299.45,1)... round挺好的,最好自己根据需要编写一个专门的函数进行转换 Round并不是四舍五入的函数,不信可以看看msdn。但是有一些中文的vb教程里面,把它错误的说是四舍五入的函数,真误人子弟。我曾经就吃过苦头,一般如果对精度要求不高,才可以用。反之,就要自己写函数了。不过不论什么算法,也都是只是个近似值而已,没有100%准确的。这是由计算机得浮点数的表示方法决定的。用 fq1() 的算法,就比较好。 自己编一个吧例如要把x四舍五入x = Int(x * 10)If (x Mod 10) >= 5 Thenx = x / 10Else: x = x \ 10End If 还可以用x=fix(x+0.5) 我都调试过 中文系统如何读取日文字符。在线等........... 请问VB中,模块与类模块的区别 ms-basic哪有呀 请问哪位知道在VB6里面怎么使用XML吗? ////请问各位高手,斑竹一个问题//// 接口 救急 我用了一个记录集, 记录集是全局共享的。但记录集的 将要移动 \ 移动后 等事件的代码应该写在哪儿呢? 100分问题!关于VB做网页的相关问题 如何用DAO修改一个已经存在的数据库的结构(如添加和删除表) ***************高分求教******************** 关于闭路电视监控系统
format(iTmp,"###0.00")
Option ExplicitPrivate Sub Form_Load()
Dim a, b As Long
a = 3534.58649345
b = -3 '指定你要舍入到小数点后的位数,0为舍到整数个位,-1为舍到整数十位......
a = Int(a * (10 ^ b) + 0.5) / (10 ^ b)
Debug.Print a
End Sub
用 Round()
Debug.Print Round(200.5) 'return 200
Debug.Print Round(200.56) 'return 201
Debug.Print Round(200.56, 1) 'return 200.6
Debug.Print Round(200.56, 2) 'return 200.56
expression 必需的。要进行四舍五入运算的数值表达式。
numdecimalplaces 可选的。数字值,表示进行四舍五入运算时,小数点右边应保留的位数。如果忽略,则Round函数返回整数。
我到这里才一个月,分数很少.
羡慕那些有星星的人。也想快些成星。
而是“四舍六入五成双”离题了,无分
format$() 返回的是 string
返回参数的整数部分。语法Int(number)Fix(number)必要的 number 参数是 Double 或任何有效的数值表达式。如果 number 包含 Null,则返回 Null。说明Int 和 Fix 都会删除 number 的小数部份而返回剩下的整数。Int 和 Fix 的不同之处在于,如果 number 为负数,则 Int 返回小于或等于 number 的第一个负整数,而 Fix 则会返回大于或等于 number 的第一个负整数。例如,Int 将 -8.4 转换成 -9,而 Fix 将 -8.4 转换成 -8。Fix(number) μèóú£oSgn(number) * Int(Abs(number))
Int 函数,Fix 函数示例
本示例说明 Int 及 Fix 函数在返回某数值的整数部分时有何不同。当参数为负数时,Int 函数返回小于或等于该参数之最大整数,而 Fix 函数则返回大于或等于该参数之最小整数。Dim MyNumber
MyNumber = Int(99.8) ' 返回 99。
MyNumber = Fix(99.2) ' 返回 99。MyNumber = Int(-99.8) ' 返回 -100。
MyNumber = Fix(-99.8) ' 返回 -99。MyNumber = Int(-99.2) ' 返回 -100。
MyNumber = Fix(-99.2) ' 返回 -99。Round函数
描述返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果。语法Round(expression [,numdecimalplaces])Round函数语法有如下几部分:部分 描述
expression 必需的。要进行四舍五入运算的数值表达式。
numdecimalplaces 可选的。数字值,表示进行四舍五入运算时,小数点右边应保留的位数。如果忽略,则Round函数返回整数。
在立即窗口算下面的值:
Round(299.5,0)
Round(299.45,1)
...
但是有一些中文的vb教程里面,把它错误的说是四舍五入的函数,
真误人子弟。
我曾经就吃过苦头,一般如果对精度要求不高,才可以用。反之,就要自己写函数了。不过不论什么算法,也都是只是个近似值而已,没有100%准确的。这是由计算机得浮点数的表示方法决定的。用 fq1() 的算法,就比较好。
例如要把x四舍五入x = Int(x * 10)
If (x Mod 10) >= 5 Then
x = x / 10
Else: x = x \ 10
End If
我都调试过