我想创建一个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转换为十进制数。 –