我错过了什么?
float stepSize = 0.0f;
int activeCircleRadius = 10;
int numSteps = 24;
AiLog.v("init activeCircleRadius " + activeCircleRadius + " numSteps "
+ numSteps);
stepSize = activeCircleRadius / numSteps;
AiLog.v("stepSize is " + stepSize);
Run Code Online (Sandbox Code Playgroud)
操作后,日志中的stepSize始终为零.是否将浮点数除以int?
Mar*_*ers 10
这两个变量都是整数,因此您执行整数除法:
activeCircleRadius / numSteps
Run Code Online (Sandbox Code Playgroud)
整数除法的结果是整数.结果被截断.
要解决此问题,请将一个(或两个)变量的类型更改为float:
float stepSize = 0.0f;
float activeCircleRadius = 10;
Run Code Online (Sandbox Code Playgroud)
或者在除法表达式中添加一个转换为float:
stepSize = (float)activeCircleRadius / numSteps;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
180 次 |
| 最近记录: |