1. VB int函數的用法
你好!剛剛看到你的留言。希望沒有耽誤你。
好吧,我們來看你寫出來的函數:int(9-0+1)*rnd+0
它的作用是一個產生隨機數。
一、我們分析一下它的結構和它的最終作用:
它一共由三部分組成:
int(9-0+1)——它是一個取整函數int(x),即求不大於x的最大整數。在本例中,自變數x被一個計算式取代:9-0+1,它是一個恆定值10。所以這一部分相當於int(10)=10,是一個恆定不變的量。
rnd——是產生隨機數的函數rnd(x)的簡寫形式。它產生一個介於[0,1)之間的小數。
+0
——毫無疑問,這一步對於程序運行毫無意義,但是既然編寫程序的人員寫上,則有它的原因,留在下面分析。在分析程序運行時,當成沒有這一項就可以了。
現在綜合來看它的作用:int(9-0+1)*rnd+0相當於:10*rnd=10*[0,1)=[0,10),它的最終目的是產生一個介於0到9.9999999之間(包括兩頭)的小數。
二、再看看這一句里邊冗餘內容及分析:
剛才說的+0,以及9-0+1這兩個問題不算是無意義內容,等後面仔細分析。真正無意義的是int()函數的使用,這個地方,int(9-0+1)=(9-0+1),兩者完全相等,所以說int是冗餘的。
int()函數是個取整函數,如果要產生小數是不需要int()的(這句話僅限於此處使用),我的分析應該是作者想產生0到9的整數,而不是像第一步分析的那樣產生小數。這樣的話,int()是用錯了地方。
三、產生0-9整數隨機數的正確語句:
完整的語句應該是int(rnd*(9-0+1)+0),你會說這一句跟int(rnd*10)相當,是的。原因下面分析。
四、為什麼要寫+0:
一般地,在vb中,要產生m-n之間的隨機整數(包括m和n且
評論
0
0
載入更多
2. VB中的int函數怎麼用
int(x)函數是取不大於x的最大整數。
你要好好理解這句話中每一個字的含義。舉例如下:
int(4.88)=4,因為4是不大於4.88的最大整數
int(8)=8,當然8本身也是不大於8的最大整數啦
int(-5.6)=-6,-6也是不大於-5.6的最大整數
int(-100)=-100,呵呵,還用說嗎!!:)
理解了上面的例子,那麼,你說int(5.8)=?