模数时间得到秒,分钟,小时等

时间:2011-08-12 01:33:48

标签: objective-c math time modulo

我正在尝试建立一个倒计时,它有四个部分:

显示如下:

0 0:0 0

十分钟:tenseconds秒

我的_secs工作在下面,_tensecs上升到9,这是不好的。

int seconds;
int _secs;
int _tensecs;
int _mins;
int _tenmins;

-(void) tick: (ccTime) dt
{
    seconds++; 

    _secs = seconds % 10;
    _tensecs = (seconds / 10) % 10;  // wrong
    _mins = seconds // ??
    _m_tenminsins = seconds // ??
}

3 个答案:

答案 0 :(得分:3)

好吧,如果% 10为您提供的值最高为9,您认为需要以什么方式获取最多5的值?

答案 1 :(得分:1)

我不知道Objective-C,但这应该做你想要的:

int seconds;
int _secs;
int _tensecs;
int _mins;
int _tenmins;

-(void) tick: (ccTime) dt
{
    seconds--; 

    _secs = seconds % 60;
    _tensecs = _secs / 10;
    _secs = _secs % 10;

    _mins = seconds / 60;
    _tenmins = _mins / 10;
    _mins = _mins % 10;
}

这假设seconds为正,您倒计时。如果你真的希望它是负面的并且正如你似乎指示的那样计数,那么改为:

    seconds++;

    _secs = abs(seconds) % 60;

...

    _mins = abs(seconds) / 60;

...

答案 2 :(得分:0)

 _secs = seconds % 10;
 _tensecs = (seconds / 10) % 6;
 _mins = (seconds / 60) % 10;
 _tenmins = (seconds / 600) % 6;