分析:
上代码:
function numReverse(num) {
if (typeof num !== 'number' || isNaN(num)) {
throw '类型不对';
}
const isPositiveNum = num >= 0 ? true : false;
let str = isPositiveNum ? String(num) : String(num).slice(1);
let newStr = '';
for (let index = str.length - 1; index >= 0; index--) {
newStr = newStr + str[index];
}
// Math.pow(2, 31) - 1 ➡️ 2147483647
// Math.pow(-2, 31) ➡️ -2147483648
if((parseFloat(newStr) > 2147483647) || (parseFloat(newStr) < -2147483648)) {
return 0;
}
return isPositiveNum ? `${ newStr * 1 }` : `-${ newStr * 1 }`;
}
测试:
console.log('520:', numReverse(520)); // 52
console.log('21474836478:', numReverse(21474836478)); // 0
console.log('-123:', numReverse(-123)); // -321
console.log('456:', numReverse(456)); // 654
console.log('-12.34:', numReverse(12.34)); // -43.21
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。