在调用浮点数时传递整数

时间:2010-06-29 12:02:00

标签: objective-c cocoa cocoa-touch

如果方法的参数调用浮点数,可以简单地传递10而不是10.0吗?我一直这样做,但经常看到指定.0的代码,并且一直在想是否有任何理由这样做。谢谢。

2 个答案:

答案 0 :(得分:4)

没有必要,但是当你这样做时,使用正确的类型和/或添加显式的强制转换是个好主意 - 更多用于自我记录的目的而不是其他任何东西。对于文字值,只需将常量指定为例如10.0f - 对于变量,只使用C风格的类型转换,例如(float)i

答案 1 :(得分:4)

编译器通常会将数字强制转换为正确的类型,但明确提升可读性并没有什么坏处。

对于大多数C和C ++编译器,常量值10.0实际上是double,而10.0f是单精度浮点数。如果您将变量传递给函数并且您知道传递的类型是错误的,则使用C表示法(float)i或C ++表示法float(i)来强制转换它,具体取决于您的编译器。