📅  最后修改于: 2023-12-03 14:54:52.203000             🧑  作者: Mango
在编程中,数字的位数是一个很常见的概念。在本文中,我们将介绍如何在 Python 和 TypeScript 中获取一个数的位数。
Python 中获取一个数的位数非常简单,只需要使用 len
函数获取数字类型的字符串表示,即:
n = 1234
digits = len(str(n))
print(digits) # 输出 4
上面的例子中,我们将 n
转化为字符串,然后使用 len
函数获取它的长度,即为这个数的位数。
另外,如果要获取负数的位数,需要把负号去掉再计算长度,如下所示:
n = -1234
digits = len(str(abs(n)))
print(digits) # 输出 4
在 TypeScript 中,我们可以通过循环除以 10 的方式来获取一个数的位数,代码如下:
function getDigits(n: number): number {
let digits = 0;
do {
digits++;
n = Math.floor(n / 10);
} while (n !== 0);
return digits;
}
const n = 1234;
const digits = getDigits(n);
console.log(digits); // 输出 4
上面的例子中,我们使用了 do-while
循环,每次除以 10 并向下取整,直到 n
为 0。循环的次数即为这个数的位数。
另外,和 Python 中一样,我们也需要处理负数的情况:
function getDigits(n: number): number {
if (n < 0) {
n = -n;
}
let digits = 0;
do {
digits++;
n = Math.floor(n / 10);
} while (n !== 0);
return digits;
}
const n = -1234;
const digits = getDigits(n);
console.log(digits); // 输出 4
上面的例子中,我们先把负数转为正数,然后再按照正数的方式计算位数。