Compare 2 integers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-02-2015 06:25 AM
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-02-2015 06:42 AM
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-02-2015 07:06 AM
It makes sens.
Thanks