我有一个应用程序,其中我正在使用某个类,该类具有将当前经过时间返回给我的方法。
unsigned long long getCurrentElapsedTime(){
}
Unsigned long long
使用而不是float
在上述类中,因为float
在运行一段时间(约 1 小时)后包装(更改为 expo 形式)。早些时候,我为float
我的程序使用了返回秒数(1.112、1.336 等)的类中的方法。
float getElapsedTime(){
}
我在我的程序中使用了上述方法,如下所示:
float startTime, deltaTime;
starttime = getElapsedTime();
On Some event
deltaTime = getElapsedtime() - startTime;
if(deltaTime > 1.0f){
//do something
}
我现在有这个getCurrentElapsedTime()
方法,它返回unsigned long long
整数给我,直到很长时间才被包装。我必须在我的应用程序中以与使用 float 类似的方式使用此方法,但我很困惑我应该如何转换unsigned long long
,float
以免得到指数格式的数字。对于我的应用程序,我之前使用float
具有以下格式数字(1.123、2.345、3.737 等)
如果我尝试将一个很长的unsigned long long
数字转换为浮点数,我可能会再次遇到同样的问题(并且浮点数将采用博览会形式)我该如何解决这个问题?有没有类似的小数点,我可以在unsigned long long
不涉及包装问题的情况下转换成小数点?