How to check a variable's digit?

Discussion in 'Javascript/Plugin Support' started by Rink27, Feb 7, 2017.

  1. Rink27

    Rink27 Veteran Veteran

    Messages:
    222
    Likes Received:
    12
    Location:
    Caribbean
    First Language:
    English
    Primarily Uses:
    RMMV
    ◆Control Variables:#0237 Delivery Time = 56789
    ◆Script:var x = $gameVariables.value(237);
    : :var y = 3;
    : :
    : :if (y = 4) {
    : :var z = String(x).charAt(2);
    : :} else if (y = 3) {
    : :var z = String(x).charAt(1);
    : :} else {
    : :var z = String(x).charAt(0);
    : :}
    : :$gameVariables.setValue(239,y);
    : :$gameVariables.setValue(240,z);
    ◆Text:None, Window, Bottom
    : :Value: \V[240]<br>
    : :Length: \V[239]

    On the second script line I had coding to obtain the length, but I noticed it always gave a length of 4. So I hard coded it to a length that wasn't 4 and still got 4. What am I doing wrong?

    ----
    Also, I can't access the "Javascript that don't deserve their own thread" thread. I keep getting an Error message.
     
    #1
  2. Shaz

    Shaz Veteran Veteran

    Messages:
    37,806
    Likes Received:
    11,509
    Location:
    Australia
    First Language:
    English
    Primarily Uses:
    RMMV
    === is used to compare. = is used to assign.

    if (y = 4) is always going to evaluate to true, because it assigns the value of 4 to the variable y, then returns true to say the assignment was successful.
     
    #2
  3. Rink27

    Rink27 Veteran Veteran

    Messages:
    222
    Likes Received:
    12
    Location:
    Caribbean
    First Language:
    English
    Primarily Uses:
    RMMV
    I realised my mistake soon after (but couldn't access my own thread because of that forum error). I'm embarrassed having made this thread, lol. I'd blame my sleepiness at the time. Btw...

    ◆Script:var x = 12345;
    : :var member = x.toString().length;
    : :var last = member.substring(member.length - 2, member.length)
    : :$gameVariables.setValue(240, last);

    What I was experimenting with was ways to do a conditional on the last two digits of any number (I was trying to work with the second to last digit). My solution was simply:


    ◆Script:var x = $gameVariables.value(237) % 100;
    : :$gameVariables.setValue(240, x);

    But I was running into errors using that substring method. I was confused between substr and substring though. I think one was jQuery, and I'm not even sure if that could work with MV.
     
    #3
  4. Shaz

    Shaz Veteran Veteran

    Messages:
    37,806
    Likes Received:
    11,509
    Location:
    Australia
    First Language:
    English
    Primarily Uses:
    RMMV
    Yeah, easiest way is just to do % 100 :)
     
    #4

Share This Page