# Checking multiple String/numbers in if-statement

**URL:** <https://discourse.nodered.org/t/checking-multiple-string-numbers-in-if-statement/33445>\
**Category:** General\
**Created:** [28 September 2020 12:07 UTC](https://discourse.nodered.org/t/checking-multiple-string-numbers-in-if-statement/33445 "2020-09-28T12:07:12Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![ZsomborPiros](https://avatars.discourse-cdn.com/v4/letter/z/ecae2f/32.png) [@ZsomborPiros](https://discourse.nodered.org/u/ZsomborPiros)\
**Post date:** [28 September 2020 12:07 UTC](https://discourse.nodered.org/t/checking-multiple-string-numbers-in-if-statement/33445/1 "2020-09-28T12:07:12Z")

</div>

Hi. Im struggling since over 1 day with my if statements. i tried anything i know from java but it doesn´t works please help me. Here´s my function node:

```auto
var valueFromTrigger1 = parseInt(msg.payload.Trig0); 
var valueFromTrigger2 = parseInt(msg.payload.Trig1); 
var valueFromTrigger3 = parseInt(msg.payload.Trig2); 
var valueFromTrigger4 = parseInt(msg.payload.Trig3); 
var valueFromTrigger5 = parseInt(msg.payload.Trig4); 
var valueFromDatabase1 = parseInt(msg.payload.Wert0);
var valueFromDatabase2 = parseInt(msg.payload.Wert1);
var valueFromDatabase3 = parseInt(msg.payload.Wert2);
var valueFromDatabase4 = parseInt(msg.payload.Wert3);
var valueFromDatabase5 = parseInt(msg.payload.Wert4);
var kindOfTrigger = msg.payload.T.toString();
var valueToSet = msg.payload.TV.toString().toString(16);
var valueToSetInDb = msg.payload.TV;

if(valueFromTrigger1 == valueFromDatabase1 && valueFromTrigger2 == valueFromDatabase2 && valueFromTrigger3 == valueFromDatabase3 && valueFromTrigger4 == valueFromDatabase4 && valueFromTrigger5 == valueFromDatabase5 && kindOfTrigger == "set all adresses"){
    for(i=0;i<=111;i++){
        var currentAdress= i.toString().toString(16);
        var newMsg = msg;
        newMsg.payload = new Buffer(["0x7c","0x06","0x05","0x01", currentAdress , valueToSet]); 
       // newMsg.topic = "UPDATE BUS SET WERT= "+"\'"+valueToSetInDb+"\'"+" WHERE BUSNUMMER= "+"\'"+i+"\'"+"" ;
        node.send(newMsg);
    }
    
}else if(valueFromTrigger1 == valueFromDatabase1 && valueFromTrigger2 == valueFromDatabase2 && valueFromTrigger3 == valueFromDatabase3 && valueFromTrigger4 == valueFromDatabase4 && valueFromTrigger5 == valueFromDatabase5 && kindOfTrigger == "set every even adress"){
    for(i=0;i<=111;i+=2){
        var currentAdress1= i.toString().toString(16);
        var newMsg1 = msg;
        newMsg1.payload= new Buffer(["0x7c","0x06","0x05","0x01", currentAdress1 , valueToSet]); 
      // newMsg1.topic = "UPDATE BUS SET WERT= "+"\'"+valueToSetInDb+"\'"+" WHERE BUSNUMMER= "+"\'"+i+"\'"+"" ;
        node.send(newMsg1);
    }
    
}else if(valueFromTrigger1 == valueFromDatabase1 && valueFromTrigger2 == valueFromDatabase2 && valueFromTrigger3 == valueFromDatabase3 && valueFromTrigger4 == valueFromDatabase4 && valueFromTrigger5 == valueFromDatabase5 && kindOfTrigger == "set every odd adress"){
    for(i=1;i<=111;i+=2){
        var currentAdress2= i.toString().toString(16);
        var newMsg2 = msg;
        newMsg2.payload= new Buffer(["0x7c","0x06","0x05","0x01", currentAdress2 , valueToSet]); 
       // newMsg2.topic = "UPDATE BUS SET WERT= "+"\'"+valueToSetInDb+"\'"+" WHERE BUSNUMMER= "+"\'"+i+"\'"+"" ;
        node.send(newMsg2);
    }
    
}

```

only the if-statement is the relevant part

---

<div class="post-metadata">

**Author:** ![janvda](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/janvda/32/234_2.png) [@janvda](https://discourse.nodered.org/u/janvda)\
**Post date:** [28 September 2020 12:14 UTC](https://discourse.nodered.org/t/checking-multiple-string-numbers-in-if-statement/33445/2 "2020-09-28T12:14:35Z")

</div>

It is unclear what the function node must do.  
What is the input and what is the expected output ?

---

<div class="post-metadata">

**Author:** ![ZsomborPiros](https://avatars.discourse-cdn.com/v4/letter/z/ecae2f/32.png) [@ZsomborPiros](https://discourse.nodered.org/u/ZsomborPiros)\
**Post date:** [28 September 2020 12:25 UTC](https://discourse.nodered.org/t/checking-multiple-string-numbers-in-if-statement/33445/3 "2020-09-28T12:25:55Z")

</div>

the inputs are numbers as strings except kindOfTrigger. If i dont convert them to ints the statement is always true and only the kindOfTrigger-part decides which body will be executed. Converted to Int none of the bodys is executed.  
Input:

 ![grafik](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/c/3/c32a77818357f007a066955b3804e4e6e646edb1.png)  
expected output is the msg.payload

my only problem is that the if statement doesnt works

---

<div class="post-metadata">

**Author:** ![ZsomborPiros](https://avatars.discourse-cdn.com/v4/letter/z/ecae2f/32.png) [@ZsomborPiros](https://discourse.nodered.org/u/ZsomborPiros)\
**Post date:** [28 September 2020 12:33 UTC](https://discourse.nodered.org/t/checking-multiple-string-numbers-in-if-statement/33445/4 "2020-09-28T12:33:49Z")

</div>

i got it. i have to write it like this ![grafik](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/a/ba786c30f2f3402fd5b77b422b80a506427a571f.png) .  
Thanks for answering

---

<div class="post-metadata">

**Author:** ![janvda](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/janvda/32/234_2.png) [@janvda](https://discourse.nodered.org/u/janvda)\
**Post date:** [28 September 2020 12:38 UTC](https://discourse.nodered.org/t/checking-multiple-string-numbers-in-if-statement/33445/5 "2020-09-28T12:38:41Z")

</div>

I just saw it also.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [12 October 2020 12:38 UTC](https://discourse.nodered.org/t/checking-multiple-string-numbers-in-if-statement/33445/6 "2020-10-12T12:38:42Z")

</div>

Closed on 12 October 2020 12:38 UTC

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
