📜  数字中的位数 python - TypeScript (1)

📅  最后修改于: 2023-12-03 14:54:52.203000             🧑  作者: Mango

数字中的位数

在编程中,数字的位数是一个很常见的概念。在本文中,我们将介绍如何在 Python 和 TypeScript 中获取一个数的位数。

Python

Python 中获取一个数的位数非常简单,只需要使用 len 函数获取数字类型的字符串表示,即:

n = 1234
digits = len(str(n))
print(digits) # 输出 4

上面的例子中,我们将 n 转化为字符串,然后使用 len 函数获取它的长度,即为这个数的位数。

另外,如果要获取负数的位数,需要把负号去掉再计算长度,如下所示:

n = -1234
digits = len(str(abs(n)))
print(digits) # 输出 4
TypeScript

在 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

上面的例子中,我们先把负数转为正数,然后再按照正数的方式计算位数。