# [asterisk-users] Problem with REMAINDER? 957%60 be 15 remainder 57 not 15 remainder -3 ?

Jonathan H lardconcepts at gmail.com
Fri Oct 21 07:33:33 CDT 2016

```I'm not mathematically gifted, but shouldn't 957%60 be 15 remainder 57?

Google and my desktop calculator certainly think so.

So where am I going wrong here? The following code

exten => 7,1,Verbose(Context: \${CONTEXT} Exten:\${EXTEN})
same => n,Set(myNum=957)
same => n,Set(sec=\$[REMAINDER(\${myNum},60)])
same => n,Set(sec=\$[ABS(\${sec})])
same => n,Set(sec=\$[\${MATH(\${sec}+0,i)}])
same => n,Verbose(1,\${myNum},\${sec})
gives me

-- Executing [7 at fromvoipfone201:1] Verbose("PJSIP/6001-00000007",
"Context: fromvoipfone201 Exten:7") in new stack
Context: fromvoipfone201 Exten:7
-- Executing [7 at fromvoipfone201:2] Set("PJSIP/6001-00000007",
"myNum=957") in new stack
-- Executing [7 at fromvoipfone201:3] Set("PJSIP/6001-00000007",
"sec=-3") in new stack
-- Executing [7 at fromvoipfone201:4] Set("PJSIP/6001-00000007",
"sec=3") in new stack
-- Executing [7 at fromvoipfone201:5] Set("PJSIP/6001-00000007",
"sec=3") in new stack
-- Executing [7 at fromvoipfone201:6] Verbose("PJSIP/6001-00000007",
"1,957,3") in new stack

Where is -3 coming from?!?

I can flip it around by using ABS to stop people freaking out when
they hear a track is "15 minutes minus 3 seconds long", but it's still
incorrect, isn't it?

(I add the second MATH function to everything I do now to make it an
integer as it seems you never can tell with Asterisk, just ignore it!)

Any ideas? Thanks.

```