如何将整数向下取整为首位数字后全为零的数值?
实现整数保留首位其余补零的方法
以下是两种实用的实现方案,以JavaScript为例:
方案一:数学计算法
通过计算数字的位数,结合首位数字与10的幂次运算得到结果,支持正负整数:
function keepFirstDigit(n) { if (n === 0) return 0; const absNum = Math.abs(n); const digitCount = Math.floor(Math.log10(absNum)) + 1; const firstDigit = Math.floor(absNum / Math.pow(10, digitCount - 1)); return firstDigit * Math.pow(10, digitCount - 1) * Math.sign(n); }
方案二:字符串处理法
将数字转为字符串后,直接截取首位字符并补零,逻辑更直观:
function keepFirstDigitStr(n) { if (n === 0) return 0; const absStr = Math.abs(n).toString(); const resultStr = absStr[0] + '0'.repeat(absStr.length - 1); return parseInt(resultStr) * Math.sign(n); }
测试示例
- 输入
6588→ 输出6000 - 输入
1285000→ 输出1000000 - 输入
-945→ 输出-900 - 输入
0→ 输出0
内容的提问来源于stack exchange,提问作者hatched
相关产品推荐
相关产品推荐

