格式化浮点值

时间:2012-05-06 19:54:23

标签: objective-c timestamp

在我的iPhone应用程序开发中,我使用时间戳值作为订单ID值。

我想格式化时间戳值,使其只包含十进制值。

时间戳值= 343434234.78900633

现在我要格式化该时间戳值,以便返回小数值78900633。

1 个答案:

答案 0 :(得分:3)

你需要使用modf函数将double / float分解成一个分数。

double intpart;
double param = 343434234.78900633;
double fractpart = modf (param , &intpart);
printf ("%lf = %lf + %lf \n", param, intpart, fractpart);

char buf[32];
sprintf(buf, "%f", fractpart);
int fpart = atoi(buf+2);
printf("Fractional as int = %d\n", fpart);