討論區快速選單
知識庫快速選單
掌握Salesforce雲端管理秘訣 網路投保旅行平安險
[ 回上頁 ] [ 討論區發言規則 ]
VBS 以無條件進位的函數嗎?
更改我的閱讀文章字型大小
作者 : sron(sron)
[ 貼文 31 | 人氣 5294 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/9/17 下午 10:59:46
作者 : netdream(netdream)
[ 貼文 18 | 人氣 6 | 評價 120 | 評價/貼文 6.67 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/9/17 下午 11:27:33
Int (number ) 傳回數字的絕對整數(無條件進位)
Fix (number) 傳回數字的整數 (無條件捨去)
作者 : sron(sron)
[ 貼文 31 | 人氣 5294 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/9/17 下午 11:33:14
我有試過,但是出來的答案都是不對的
我要的是7.1 無條件進入到8
7.5也是無條件進入
int 會去到我的笑數但是沒進位
fix也是
作者 : 168(阿戊) Visual Basic一代宗師貼文超過2000則
[ 貼文 2957 | 人氣 7614 | 評價 11710 | 評價/貼文 3.96 | 送出評價 99 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人sron註記此篇回應為最佳解答 2004/9/18 上午 01:05:49
round(n+0.5)
作者 : sron(sron)
[ 貼文 31 | 人氣 5294 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/9/18 上午 01:14:29
ROUND(N+0.5)
這個還是不對ㄟ= = ,誰可以救救我
作者 : sron(sron)
[ 貼文 31 | 人氣 5294 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/9/18 上午 01:23:23
round((n+0.5)) 這個可以 3Q大大
作者 : foolface(foolface) Java Script優秀好手
[ 貼文 173 | 人氣 3547 | 評價 1510 | 評價/貼文 8.73 | 送出評價 28 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/9/18 下午 11:57:46
round(n+0.4)
作者 : foolface(foolface) Java Script優秀好手
[ 貼文 173 | 人氣 3547 | 評價 1510 | 評價/貼文 8.73 | 送出評價 28 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/9/19 上午 12:19:39
寫錯了
round(n+0.499999)
作者 : 168(阿戊) Visual Basic一代宗師貼文超過2000則
[ 貼文 2957 | 人氣 7614 | 評價 11710 | 評價/貼文 3.96 | 送出評價 99 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/9/19 下午 01:27:29
怎麼會有這個(0.499999)...?
當小數點 "夠小" 時...便不會進位了!
作者 : sron(sron)
[ 貼文 31 | 人氣 5294 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/9/19 下午 02:10:55
我用另一種方法
area=-(high*wide)/900
price=ABS(int(area))
作者 : foolface(foolface) Java Script優秀好手
[ 貼文 173 | 人氣 3547 | 評價 1510 | 評價/貼文 8.73 | 送出評價 28 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/9/19 下午 03:35:32
因為是取到整數,所以如果是7加0.5就會變8,而0.499999是想不知道數字會先現小數點下幾位數而寫的,如7.000001加0.499999就會變8
作者 : hkln(HKLN.net) Perl卓越專家Oracle卓越專家資訊類作業求救優秀好手一般優秀好手程式設計甘苦談優秀好手C#卓越專家貼文超過2000則人氣指數超過100000點
[ 貼文 2135 | 人氣 122272 | 評價 14600 | 評價/貼文 6.84 | 送出評價 7 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/9/19 下午 04:11:35
>我有試過,但是出來的答案都是不對的
>我要的是7.1 無條件進入到8
>7.5也是無條件進入
>int 會去到我的笑數但是沒進位
>fix也是


是不是這樣子?

<script language="VBScript">
Msgbox round(7.5) '8
Msgbox round(8.5) '8
Msgbox round(9.5) '10
Msgbox round(10.5) '10

Msgbox -int(-7.5) '8
Msgbox -int(-8.5) '9
Msgbox -int(-9.5) '10
Msgbox -int(-10.5) '11
</script>
作者 : sron(sron)
[ 貼文 31 | 人氣 5294 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/9/19 下午 04:39:06
用round(n+0.5)
會把整數ㄉ也進位
但是要ㄉ是整數不會進位,只有有於數ㄉ會進位
例如 7.1進位到8
     7.5也是進位到8
     整數7則不會進位所以7還是等於7
用round(n+0.)5
會變成7.5進位變8

這樣又變ㄉ跟答案不一樣
作者 : 168(阿戊) Visual Basic一代宗師貼文超過2000則
[ 貼文 2957 | 人氣 7614 | 評價 11710 | 評價/貼文 3.96 | 送出評價 99 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/9/19 下午 05:11:07
If n > Int(n) Then n = Round(n + 0.5)
作者 : foolface(foolface) Java Script優秀好手
[ 貼文 173 | 人氣 3547 | 評價 1510 | 評價/貼文 8.73 | 送出評價 28 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/9/19 下午 05:38:07

>Int (number ) 傳回數字的絕對整數(無條件進位)
>Fix (number) 傳回數字的整數 (無條件捨去)
int 和 fix 兩者都是無條件捨去,差別在於負數,int會傳回小於number 的第一負整數,而fix者是相反。例如:
int(7.1)'傳回 7
fix(7.1)'傳回 7
int(-7.1)'傳回 -8
fix(-7.1)'傳回 -7
作者 : 168(阿戊) Visual Basic一代宗師貼文超過2000則
[ 貼文 2957 | 人氣 7614 | 評價 11710 | 評價/貼文 3.96 | 送出評價 99 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/9/19 下午 08:24:00
這是VB的規則,而原問者未提及 [負數] 時的 [進位] [規則]...

如果不論正負數皆進位(忽略正負號,整數部份+1)
a=1.0001
document.write -Sgn(a) * Int(-Sgn(a) * a)
'結果為2
a=-1.0001
document.write -Sgn(a) * Int(-Sgn(a) * a)
'結果為-2

記得這個公式不久前阿戊也曾在小雄老師的vb討論板發表過,有興趣者可以自己去搜尋看看...(關鍵字用第一行的[ ]內的字...)
作者 : kib72377(史努比) Visual Basic卓越專家Assembly優秀好手Access頂尖高手貼文超過1000則
[ 貼文 1455 | 人氣 1891 | 評價 8600 | 評價/貼文 5.91 | 送出評價 31 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/9/19 下午 08:47:22
n = fix(n) - int(fix(n) -n)
作者 : kib72377(史努比) Visual Basic卓越專家Assembly優秀好手Access頂尖高手貼文超過1000則
[ 貼文 1455 | 人氣 1891 | 評價 8600 | 評價/貼文 5.91 | 送出評價 31 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/9/20 上午 09:23:20
a = int(n)
If a <> n Then n = a + 1 else n = n
簡單又明瞭.
作者 : yuktong(YUK)
[ 貼文 75 | 人氣 9782 | 評價 0 | 評價/貼文 0 | 送出評價 10 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/3/2 下午 10:10:46
GOOD
作者 : danking(丹尼爾)
[ 貼文 51 | 人氣 761 | 評價 110 | 評價/貼文 2.16 | 送出評價 8 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/5/11 上午 11:22:47
<Script Language="VBScript">
If Round(intNumber) < intNumber And Round(intNumber) >= 0 Then
' 如果原本數值是正數的話, 則加 1
intNumber = Round(intNumber) + 1
elseIf Round(intNumber) > intNumber And Round(intNumber) =< 0 Then
' 如果原本數值是負數的話, 則減1
intNumber = Round(intNumber) - 1
End If
</Script>

intNumber 是您準備要無條件進位的數值
當運算過之後, 會將新數值填回 intNumber
 板主 : 徵求中
 > VB Script - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - VB Script - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
VB Script
1 羅蘋 270 
2 foolface 170 
3 坤哥 80 
4 nono 80 
5 阿戊 70 
6 sorry 60 
7 Kevin 50 
8 紫曰 40 
9 玩家 40 
10 黑天黑地 40 
VB Script
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.140625