我想知道是否有办法在GKLeaderboard
上使用双值?它坚持我使用int64_t
,但我需要使用双值,因为排行榜是最快的时间,计数到六个小数点。
答案 0 :(得分:0)
由于您需要一个低至数百万的十进制数,一个解决方案是简单地乘以1,000,000并强制转换为int64_t
:
int64_t intScore = (int64_t)1000000 * doubleScore;
然后当你拿回比分时:
double doubleScore = (double)intScore / 1000000;
答案 1 :(得分:0)
如果您使用微秒级精度进行测量,则可以将单位设置为微秒而不是秒。然后你可以使用整数。
(同样,货币永远不应该表示为浮点值,而是表示您想要考虑的最小金额的整数值 - 因此美元将是100(美分)而不是1.0(美元)。 )