<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Is HOUR_SELECTED a floating-point number (e.g. 11.99999999999)? If so, you need to account for that in your comparison.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>  --Don<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><a name="_MailEndCompose"><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></a></p><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> asterisk-users [mailto:asterisk-users-bounces@lists.digium.com] <b>On Behalf Of </b>Dovid Bender<br><b>Sent:</b> Thursday, February 13, 2020 4:47 AM<br><b>To:</b> Asterisk Users Mailing List - Non-Commercial Discussion<br><b>Subject:</b> [asterisk-users] Help with FUNC_MATH<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>Hi,<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I have some dialplan code that is trying to convert 12 hour time with AM/PM to 24 hour format. The code has something like this:<br>Exten => 2,1,ExecIf(${MATH(${HOUR_SELECTED}<12)}?Set(HOUR_SELECTED=${MATH(${HOUR_SELECTED}+12,int)}))<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Earlier on in the dialplan HOUR_SELECTED is set to 12. When they press option 2 they are selecting PM. If the time is from 1PM to 11PM then I want to add 12 to the number (so if it's 1 make it 13 etc.). When I run the above the logs show the result as false yet if the user sets HOUR_SELECTED to 12 then after this line of dialplan code it gets switched to 24. What am I doing wrong here?<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>The exact DP code is:<o:p></o:p></p></div><div><p class=MsoNormal>Exten => 2,     1, Noop(BEFORE CHECK HOUR_SELECTED is ${HOUR_SELECTED})<br> same =>        n, ExecIf(${MATH(${HOUR_SELECTED}<12)}?Set(HOUR_SELECTED=${MATH(${HOUR_SELECTED}+12,int)}))<br> same =>        n, Noop(AFTER CHECK HOUR_SELECTED IS ${HOUR_SELECTED})<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>And the output of the logs is:<o:p></o:p></p></div><div><p class=MsoNormal>[Feb 13 10:46:18] VERBOSE[1580][C-00007bc6] pbx.c: Executing [2@am_pm_select:1] NoOp("SIP/204.145.219.31-000081c6", "BEFORE CHECK HOUR_SELECTED is 12") in new stack<br>[Feb 13 10:46:18] DEBUG[1580][C-00007bc6] pbx_variables.c: Result of 'HOUR_SELECTED' is '12'<br>[Feb 13 10:46:18] DEBUG[1580][C-00007bc6] pbx_variables.c: Function MATH(12<12) result is 'FALSE'<br>[Feb 13 10:46:18] DEBUG[1580][C-00007bc6] pbx_variables.c: Result of 'HOUR_SELECTED' is '12'<br>[Feb 13 10:46:18] DEBUG[1580][C-00007bc6] pbx_variables.c: Function MATH(12+12,int) result is '24'<br>[Feb 13 10:46:18] DEBUG[1580][C-00007bc6] pbx.c: Launching 'ExecIf'<br>[Feb 13 10:46:18] VERBOSE[1580][C-00007bc6] pbx.c: Executing [2@am_pm_select:2] ExecIf("SIP/204.145.219.31-000081c6", "FALSE?Set(HOUR_SELECTED=24)") in new stack<br>[Feb 13 10:46:18] DEBUG[1580][C-00007bc6] pbx_variables.c: Result of 'HOUR_SELECTED' is '24'<br>[Feb 13 10:46:18] DEBUG[1580][C-00007bc6] pbx.c: Launching 'NoOp'<br>[Feb 13 10:46:18] VERBOSE[1580][C-00007bc6] pbx.c: Executing [2@am_pm_select:3] NoOp("SIP/204.145.219.31-000081c6", "AFTER CHECK HOUR_SELECTED IS 24") in new stack<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>TIA.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Dovid<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div></div></div></body></html>