View previous topic :: View next topic
|
Author |
Message |
Harold Barnes
New User
Joined: 27 Oct 2015 Posts: 33 Location: United States
|
|
|
|
Can someone explain why the 9 characters compare not equal (correct) but the 10 characters compare is neither equal or not equal?
/* REXX */
trace o
/*
en = "1000000464"
xs = "1000000468"
*/
en = "100000464"
xs = "100000468"
if en ¬= xs then
do
say "Not Equal"
exit -1
end
if en == xs then
do
say "equal"
exit 0
end
say "exit 99"
exit 99
vs
/* REXX */
trace o
en = "1000000464"
xs = "1000000468"
/*
en = "100000464"
xs = "100000468"
*/
if en ¬= xs then
do
say "Not Equal"
exit -1
end
if en == xs then
do
say "equal"
exit 0
end
say "exit 99"
exit 99 |
|
Back to top |
|
|
Joerg.Findeisen
Senior Member
Joined: 15 Aug 2015 Posts: 1251 Location: Bamberg, Germany
|
|
|
|
See default for DIGITS. Try your code again with adding:
to see the difference.
PS: Change == to = |
|
Back to top |
|
|
Joerg.Findeisen
Senior Member
Joined: 15 Aug 2015 Posts: 1251 Location: Bamberg, Germany
|
|
|
|
To compare strings, use the compare() function.
Code: |
if compare(en,xs)¬=0 then say "Not Equal"; else say "Equal" |
|
|
Back to top |
|
|
Harold Barnes
New User
Joined: 27 Oct 2015 Posts: 33 Location: United States
|
|
|
|
It has to do with non-strict compares.
I switched to strict compares and now it works as expected.
Time to get enlightened about strict compares. |
|
Back to top |
|
|
|