2017-08-22 73 views
-2

我明白Rnd函數的基礎,但不明白爲什麼Rnd是負數的次數。誰能幫忙請VBA excel Rnd語法

Range("A1")=Formatcurrency(1-2*Rnd,2) 
+3

如果隨機數大於0.5,那麼2 *該數將大於1,並且1 - 大於1的數是負數。你想做什麼? – YowE3K

+0

乘以_Rnd_的數字是正數(+2)。它和'1 - (2 * Rnd)'一樣。 – jsotola

+0

對,我現在明白了。謝謝 –

回答

1

它並不總是負面的。但總的來說,當你想知道VBA中的某些東西時,可以做一個小小的打印並打印出來。就像這樣:

Option Explicit 
Sub TestMe() 

    Dim lngCount As Long 

    For lngCount = 1 To 5 
     Debug.Print "----------------" 
     Debug.Print Rnd 
     Debug.Print 1 - 2 * Rnd 
     Debug.Print "----------------" 
    Next lngCount 

End Sub 

它顯示隨機如下:

---------------- 
0.5137375 
7.403994E-02 
---------------- 
---------------- 
0.3534727 
0.1903317 
---------------- 
---------------- 
0.2697316 
0.888813 
---------------- 
---------------- 
0.2438452 
-0.9581559 
---------------- 
---------------- 
6.091624E-02 
0.2194171 
---------------- 

因此,你可以跟蹤它來檢查消極的原因。並保持積極的態度:)

+0

謝謝,這真的很有用 –

0

(1-(2 * rnd),2)我認爲這是一個操作問題的順序,您將rand值乘以2,然後從一個減去它。

該值不會總是小於0,但很有可能。

如果您對自己想要做的更具體,可以幫助您完成任務。