我想創建一個0和1之間的小數,所以我創建一個介於0和10000之間的Int,然後將它除以10000(一個Int)以獲得小數。潛水arc4random_unifrom的結果給我0
AtBatResult = Int(arc4random_uniform(UInt32(10000)))
這行代碼給了我很好的數字。
AtBatResult = AtBatResult/Int(10000)
但是,當我運行這一行代碼時,無論如何數字都變爲0。這裏發生了什麼?提前致謝!
我想創建一個0和1之間的小數,所以我創建一個介於0和10000之間的Int,然後將它除以10000(一個Int)以獲得小數。潛水arc4random_unifrom的結果給我0
AtBatResult = Int(arc4random_uniform(UInt32(10000)))
這行代碼給了我很好的數字。
AtBatResult = AtBatResult/Int(10000)
但是,當我運行這一行代碼時,無論如何數字都變爲0。這裏發生了什麼?提前致謝!
您已將atBatResult
宣佈爲Int
。你不能給它分配一個十進制值。你正在做整數除法。
你需要一個Double
變量,你需要做十進制除法。
這裏有一種方法:
let atBatResult = Int(arc4random_uniform(UInt32(10000)))
let finalResult = Double(atBatResult)/10000
或者,你可以這樣做:
let atBatResult = Double(arc4random_uniform(UInt32(10000)))/10000
這將使atBatResult
一個Double
而不是Int
。
僅供參考 - 標準命名約定用小寫字母開始方法和變量名。類名以大寫字母開頭。
在分割前將AtBatResult轉換爲十進制數。 –