新手提问,怎么把小数转成整数?

teatool 2004-06-28 02:34:56
asp vbscript中我需要把小数变成整数,比如说把3.2变成4,把5.5变成6 ,怎么做?
我知道系统肯定有干这个的函数,但我不知是哪个!
谢谢
...全文
221 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
king2003 2004-06-29
  • 打赏
  • 举报
回复
昨晚上太热睡不着想起了你说的这个问题你看这样解决成不
round(你的数+0.5)
terry6394 2004-06-29
  • 打赏
  • 举报
回复
tjficcbw(津津)
的好.呵呵,,简单
tjficcbw 2004-06-29
  • 打赏
  • 举报
回复
if a>int(a) then
b=int(a)+1
else
b=int(a)
end if
king2003 2004-06-29
  • 打赏
  • 举报
回复
上面的是真正的四舍五入函数
king2003 2004-06-29
  • 打赏
  • 举报
回复
Public Function Round45(n As Double, p As Integer) As Double
Dim s As String, a As String, b As String, x As String, v As Double

If n = 0 Or p < 0 Then Round45 = "": Exit Function
s = Trim(Str(n))
If InStr(s, ".") <> 0 Then
a = Mid(s, 1, InStr(s, ".") - 1)
b = Mid(s, InStr(s, ".") + 1)
Else
a = s
b = ""
End If
If Len(b) <= p Then
Round45 = CDbl(Val(a + "." + b))
Exit Function
Else
If Val(Mid(b, p + 1, 1)) >= 5 Then
x = a + Mid(b, 1, p)
v = CDbl(Val(x))
v = v + 1#
v = v / (10 ^ p)
Round45 = v
Exit Function
Else
Round45 = CDbl(Val(a + "." + b))
Exit Function
End If
End If
End Function
king2003 2004-06-29
  • 打赏
  • 举报
回复
round的正确用法是四舍六入五留双所以我上面说的有BUG不能用
dreammoci 2004-06-29
  • 打赏
  • 举报
回复
如果你的数不会有负数,你可以用<%=abs(int("-3.2"))%>,先把你的数字加上负加,再用int来做,最后取绝对值,就可以了。呵呵。。。当然这种情况只能在你确定你的数都是正数的情况下用哦。。。
dreammoci 2004-06-29
  • 打赏
  • 举报
回复
你可以判断点后的第一位数是大于5还是小于5,如果大于5,则把点前的数加上,自己写一个函数就可以了。
iceicebug 2004-06-28
  • 打赏
  • 举报
回复
发错了
function getInt(byref num)
getInt = fix(num+1)
end function
iceicebug 2004-06-28
  • 打赏
  • 举报
回复
function getInt(byref num)
getInt = Round(num,0)+1
end function
king2003 2004-06-28
  • 打赏
  • 举报
回复
vb里面没有这样的函数,不好意思上面看错了
teatool 2004-06-28
  • 打赏
  • 举报
回复
楼上的,vbscript怎么写?
iceicebug 2004-06-28
  • 打赏
  • 举报
回复
为什么老钻牛角尖,jscript有:Math.ceil(3.2)=4
学ASP不能学的太死
javasam 2004-06-28
  • 打赏
  • 举报
回复
int(3.2)
chang1216 2004-06-28
  • 打赏
  • 举报
回复
FormatNumber(str,0,-1,0)
teatool 2004-06-28
  • 打赏
  • 举报
回复
不能四舍五入,就算只有0.0000000000000001也必须转换成1
king2003 2004-06-28
  • 打赏
  • 举报
回复
顺便说一下把第二个参数设为0
king2003 2004-06-28
  • 打赏
  • 举报
回复
返回按指定位数进行四舍五入的数值。
语法
Round(expression[, numdecimalplaces])
Round 函数的语法有以下参数:

参数 描述
expression 必选。 数值表达式 被四舍五入。
numdecimalplaces 可选。数字表明小数点右边有多少位进行四舍五入。如果省略,则 Round 函数返回整数。


下面的示例利用 Round 函数将数值四舍五入到两位小数:
Dim MyVar, pi
pi = 3.14159
MyVar = Round(pi, 2) 'MyVar contains 3.14。

  • 打赏
  • 举报
回复
int(num)
angelheavens 2004-06-28
  • 打赏
  • 举报
回复
<%
Dim a,b
a="34.0001"
b=Split(a,".")

If Not IsNumeric(a) Then Response.End

If UBound(b)<=0 Then
Response.Write(Cint(a))
ElseIf Cint(b(1))>0 Then
Response.Write(Cint(a)+1)
Else
Response.Write(Cint(a))
End If
%>
加载更多回复(3)

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧