我有一个4位数字。我怎样才能得到右边的第二个数字。
它按我的方式工作......但是有更好的吗?
function SecondNumberOnTheRight(number){
var number;
number = parseInt(number%100)/10;
newNumber = parseInt(number);
console.log(newNumber);
}
SecondNumberOnTheRight(1259); // 5
答案 0 :(得分:3)
function SecondNumberOnTheRightY(number){
var t0 = performance.now();
var number;
number = parseInt(number%100)/10;
newNumber = parseInt(number);
var t1 = performance.now();
console.log("Your took " + (t1 - t0) + " milliseconds.")
}
function SecondNumberOnTheRightM(number){
var t0 = performance.now();
var num = number.toString();
var res = Number( num.charAt(num.length-2) );
var t1 = performance.now();
console.log("Mine took " + (t1 - t0) + " milliseconds.")
}
SecondNumberOnTheRightY(1588565);
SecondNumberOnTheRightM(1588565);
将数字更改为字符串,然后使用charAt获取所需索引中的字符。还可以检查性能。
答案 1 :(得分:1)
可能的解决方案。
const SecondNumberOnTheRight = num => `${num % 100}`.slice(0, 1);
console.log(SecondNumberOnTheRight(1259));
console.log(SecondNumberOnTheRight(987654321));

答案 2 :(得分:1)
您可以将其投射到字符串并使用substr
:
var num = 1259;
function secondNumberOnTheRight(num) {
return num.toString().substr(2,1);
}
console.log(secondNumberOnTheRight(num)); // '5'

如果你需要一个数字作为结果使用parseInt(num, 10)
。
答案 3 :(得分:0)
您的方法是最简单的方法,但您也可以按以下方式编写:
console.log(parseInt(number/10)%10);
这是一个简短的例子:
var number=1259;
console.log(parseInt(number/10)%10);