Test integerness: Difference between revisions

→‎REXX version 1: add solution for extra credit
(→‎REXX version 1: add solution for extra credit)
Line 2,006:
j is not an integer (imaginary part is not zero)
0003-00.0j is an integer</pre>
 
===version 1a Extra Credit===
<lang rexx>/* REXX ---------------------------------------------------------------
* Extra credit
* Instead of using the datatype built-in function one could use this
*--------------------------------------------------------------------*/
Call testi 25.000000
Call testi 24.999999
Call testi 25.000100
Call testi 0.9999999
Call testi -0.9999999
Exit
 
testi:
Parse Arg x
If pos('.',x)>0 Then Do
xx=abs(x)
Parse Value abs(xx) With '.' d
d5=left(d,5)
End
Else d5=''
If d5='' | wordpos(d5,'00000 99999')>0 Then
Say x 'is an integer'
Else
Say x 'is''nt an integer'
Return</lang>
{{out}}
<pre>25.000000 is an integer
24.999999 is an integer
25.000100 is'nt an integer
0.9999999 is an integer
-0.9999999 is an integer</pre>
 
===version 2===
2,289

edits