作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图创建一个介于 0 和 1 之间的小数,因此我创建了一个介于 0 和 10000 之间的 Int,然后将它除以 10000(一个 Int)以获得小数。
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
。
仅供引用 - 以小写字母开头的方法和变量名称是标准命名约定。类名以大写开头。
关于swift - 潜水 arc4random_unifrom 的结果给我 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45604092/
我试图创建一个介于 0 和 1 之间的小数,因此我创建了一个介于 0 和 10000 之间的 Int,然后将它除以 10000(一个 Int)以获得小数。 AtBatResult = Int(arc4
我是一名优秀的程序员,十分优秀!