私のアプリでは、ゲームセンターに時間を送信する必要があり、経過時間 - 100 分の 1 秒の形式で表示する必要があります。
00:00:00.00
これはリーダーボードに表示したい形式です。
私のアプリでは、次の形式で時間を取得しています
ss.SS
ss = 秒 SS = 100 分の 1 秒
ゲームセンターに送信する前に値を double に変換しました
double newScoreDouble = [newScore doubleValue];
しかし、ダブルスコアをゲームセンターに送信すると、int64_t 形式に変換するように求められます。しかし、それをその形式に変換すると、double 値の一部が失われます。
double intPart = 0;
double fractPart = modf(newScoreDouble, &intPart);
int isecs = (int)intPart;
int min = isecs / 60;
int sec = isecs % 60;
int hund = (int) (fractPart * 100);
int64_t time_to_send_through_game_center = min*6000 + (sec*100 + hund);
これは double を int64_t に変換する方法です
double 値全体をゲーム センターに送信し、経過時間 - 1/100 秒形式で表示する方法を教えてください。
ありがとう