Как выделить последнюю цифру в номере?Как получить только последнюю цифру в номере?
I.e. У меня есть переменная number
, которая 27 и я хочу 7.
(число никогда не поднимается выше 99.)
Как выделить последнюю цифру в номере?Как получить только последнюю цифру в номере?
I.e. У меня есть переменная number
, которая 27 и я хочу 7.
(число никогда не поднимается выше 99.)
Если вы хотите номер, используйте % 10
изолировать место в своем численном:
var onesOnly = number % 10;
Если вы хотите строку, можно преобразовать число в строку и использовать .substr(-1)
, чтобы получить только последнюю цифру:
var lastDigit = String(number).substr(-1);
Примечание: Оба метода будут ненадежными с очень большими номерами (по разным причинам). Это не проблема, которую вы будете иметь, если ваш номер никогда не будет превышать 99, но если другие используют эту же технику с большими числами, то стоит отметить:
Цифровой подход может упасть из-за того, что номера JavaScript являются IEEE-754 с плавающей запятой с двойной точностью («двойной»), даже если они являются целыми числами. Самый высокий надежный значение целого числа, которое может содержать double, равно 9007199254740991, после чего у нас заканчиваются значимые биты, и он начинает становиться неточным даже на уровне целого числа: 9007199254740993 % 10
- это 2, а не 3, так как double не может держите значение 9007199254740993 точно.
Метод текста не соответствует научной нотации: очень большие числа преобразуются в строку с использованием научной нотации. Например, 5823548469823234783234852 преобразуется в "5.823548469823234e+24"
. Следовательно, String(5823548469823234783234852).substr(-1)
дает нам 4
, а не 2
.
Конечно, к тому моменту, когда вы сталкиваетесь с проблемой научной нотации, вы уже имеете дело с цифрами, которые настолько неточны (первая проблема), что это вторичная проблема.
Престижность для ответа CW –
@JamesThorpe: Казалось, что нужно. :-) –
@ T.J.Crowder Да, возможно, это лучший способ на данный момент. Невозможно предотвратить ответ на эти Qs, может также сделать это так, чтобы, по крайней мере, остановить половину проблемы :) –
Посмотрите на '%' -Operator – AntiHeadshot