【发布时间】:2015-04-02 05:46:48
【问题描述】:
我正在使用 Swift 进行一些计算。我知道在 Swift 中,0/0 给出 NAN(不是数字)而不是 0。无论如何它是否返回 0?
for x in 0..<n {
for y in 0..<n {
if(B[0,y,x]==NAN) {B[0,y,x]=0 } //use of undeclared identifier 'NAN'
println("\((Float)B[0,y,x])")
}
}
【问题讨论】:
-
出于好奇,您为什么要这样做?
-
在您自己的代码中?还是在某个图书馆?如果在您自己的代码中,您可以添加一个
if。 -
因为这段代码涉及到一定的工程计算。我希望返回零以显示用户为零而不是 nan。因为使用这个程序的用户,不知道nan是什么意思...
-
不要夸大可能不明显的东西,但零除以零不是零,它是无穷大/未定义,这就是为什么你得到
NaN(或崩溃) 在大多数语言中。如果您想将这个特殊的极端情况转换为用户的一些不同输出,请检查零分母并退出返回您想要的任何内容。 -
这个 if 语句代码有效吗?