Compare 2 integers

didierl
Giga Contributor

Hello everyone,

I've got 2 integer fields. There is something strange when I try to compare them

Doesn't works :

if (current.number_of_attendees_registered == current.number_of_attendees_expected) {
                            gs.addInfoMessage("Egual");

}

/////

if (current.number_of_attendees_registered === current.number_of_attendees_expected) {
                            gs.addInfoMessage("Egual");

}

works :

if(parseInt(current.number_of_attendees_registered) == parseInt(current.number_of_attendees_expected)) {

                            gs.addInfoMessage("Egual");

}

///////

if(current.number_of_attendees_registered*1 == current.number_of_attendees_expected*1) {

                            gs.addInfoMessage("Egual");

}

////////

if (current.number_of_attendees_registered > current.number_of_attendees_expected) {
                            gs.addInfoMessage(">");

}

Someone know why ? Or Is it a bug ?

Regards,

Didier

2 REPLIES 2

joshua_bice
Giga Expert

It's because Javascript is reading them as strings until you tell it not to do so. parseInt(), multiplying, and comparing with > or < will tell js "Hey, this is a number!" That's all. Also, your second if statement has three equal signs.


didierl
Giga Contributor

It makes sens.



Thanks