十进制值在Swift中设置为0

时间:2017-09-15 21:12:39

标签: swift

我试图从0.75到1.25获得随机小数

let incomeCalc = Decimal((arc4random_uniform(50)+75)/100) 
print("incomeCalc") 
print(incomeCalc)

为什么打印0?

2 个答案:

答案 0 :(得分:1)

set.seed(100) dd <- data.frame(x=1:100,y=round(rnorm(100,mean=100),1)) gam(y ~ s(x, k=64, bs='ad'), data = dd, method = 'REML', select = 'TRUE')$call gam(formula = y ~ s(x, k=64, bs='ad'), data = dd, method = 'REML', select = 'TRUE') f2 <- function(f,m,s,d){ do.call("gam", list(formula=as.formula(f),method=as.name(m),select=as.name(s),data=as.name(d))) } f2("y ~ s(x, k=64, bs='ad')", "method = 'REML'", "select = 'TRUE'", "data = dd")$call # Error in is.data.frame(data) : object 'data = dd' not found occurs gam(formula = y ~ s(x, k = 64, bs = "ad"), data = dd) 返回一个整数类型,因此您正在进行整数运算。你需要做浮点数学。

arc4random_uniform

通过在执行除法之前转换值,您会得到一个Double结果,该结果将传递给您的let incomeCalc = Decimal(Double((arc4random_uniform(50)+75))/100) 初始值设定项。

或者你可以这样做:

Decimal

在分割完成之前创建let incomeCalc = Decimal((arc4random_uniform(50)+75))/100

答案 1 :(得分:1)

您还可以使用下面的代码获取75到125之间的随机数,然后将其除以100

import com.google.api.ads.adwords.lib.utils.v201708.ReportDownloader