不能乘以或除以大或小的浮点数?

sam*_*sam 0 xcode nsnumber ios

很抱歉没有发布任何代码.这个问题涉及在xcode ios中工作时浮点数的除法和乘法.

我有变量,我需要除以2.055926336e + 09.但遗憾的是编译器没有划分它?

我如何在代码中使用它

float variable1=((variable2)/(2.055926336e+09));
Run Code Online (Sandbox Code Playgroud)

这对于用较小的值进行除法是正确的(例如: - (1 /(2.055926336e + 09))这是什么原因?任何有效的方法来完成这项工作?

提前致谢!

rob*_*off 7

我怀疑问题不在你的计算中.它在你的印刷中.您可能正在尝试使用类似的格式打印答案%f.默认情况下,%f在小数点右侧打印6位数.

10/2.055926336e + 09的值是0.000000004863987500377056 ...正如您所看到的,紧跟小数点后立即有超过6个零.如果你尝试使用它来格式化它%f,你就会得到零.

如果用%e(或%g)格式化它,格式化程序将使用科学记数法,并将结果打印为4.863988e-10,表明结果不为零.