[JS] Operators and Expressions Задача 4


2
4. Write an expression that checks for given integer if its third digit (right-to-left) is 7. E. g. 1732 -> true.
 
Срам, не срам... но нещо не мога да се оправя с тази задача. :D
В смисъл то е ясно, как се проверява самото число, но как например 789/100 да ми връща резултат 7, а не 7.89. Това не мога да схвана?



Отговори



0

ето едно простичко решение :

   <script>
        var a = prompt("Enter a number: ");
        var b = Math.floor(a / 100);
        var c = b % 10; 
 
        if(c == 7)
        {
            document.write("Third number right to left is 7");
        }
 
        else
            document.write("Third number right to left is not 7");        
    </script>

 




0
това решение го видях от темата за C# обаче тук аз го направих с един път % 1000 и 2-я път /100, предполагам и така е вярно. При мен обаче: var x = jsConsole.readInteger("#numberPosition"); var y = x % 1000; var z = Math.floor(y / 100); изглежда така, смисъл първо съм дала деление с остатък и след това другото деление.

от zorica (212 точки)


2
Едно кратичко решение и от мен:
varToCheck.toString().slice(-3)[0] == 7 ? "yes" : "no";

от stoianpp (415 точки)


0
Сега ако обясниш и кое какво прави..

от bonethugs (378 точки)

0
Обръщам го на стринг, отрязвам последните три символа, вземам първия от тях(нулевия) и ако е равен на 7 връщам yes, ако не е - no.

от stoianpp (415 точки)


0
Нещо подобно и от мен : var inputValue = document.getElementById("insert").value; var intValue = ((inputValue / 100) % 10) | 0; //parse float to int var result = intValue === 7 ? "Yes" : "No";

от Veni.Naydenov (200 точки)


0
Колеги имам някакъв проблем, който не знам на какво се дължи. Задачата ми е правилна .. но ..
ето какъв е проблема, когато напиша jsConsole.writeLine("Because a Искам да попитам това някаква особеност ли е или .. на какво може да се дължи?
Като се има на предвид че малко по нагоре в кода имам " a>b " в друго условие и него си ми го принтира правилно ..
Не че е нещо фатално, но ми е чудно просто ..

от zorica (212 точки)


0
Пробва ли \< вместо

от stoianpp (415 точки)

0
Хаа .. не. Ясно. Това сигурно е защото може да пишеш тагове от html-a не съобразих ... вярно! Мерси много :)

от zorica (212 точки)


0
slice може и с отрицателни позиции да работи, но се държи странно около краищата на стринга
 
var str = number.value.toString();
var res = str.slice(str.length - position.value, str.length - position.value+1);
 
Number(res)==searchDigit.value?"Digit is on this position!":"Digit is not there")

от plmb123 (130 точки)