科学计数法转换器
输入任意数字(支持 123000、1.23e5、1.23 × 10⁵ 等写法)即可得到科学计数法、工程记法、e 记法与十进制展开;切到「运算」还能做科学计数法的加减乘除。
光速约三亿米每秒、阿伏伽德罗常数六点零二乘十的二十三次方——天文、化学、芯片制程里到处是写不下的数字,科学计数法就是为它们发明的。这里既能把任何写法的数转成标准形式、工程记法,也能反过来还原成普通数字,两个大数之间要加减乘除同样支持。
口径说明:科学计数法标准形式尾数在 [1, 10)(6.02 × 10²³);工程记法指数必须是 3 的倍数(22 × 10³ 而不是 2.2 × 10⁴),对应 k/M/G 词头;运算时加减先对齐指数、乘除尾数相乘指数相加——本工具按标准规则处理并规范化结果。
这个工具解决你的问题了吗?
提交后会把工具名、你的输入与当前结果发送到服务器;请勿填写身份证号、手机号等隐私信息。
AI 助手 会结合你当前的输入与结果回答
追问会再次把当前输入与结果发送到服务器;请勿填写隐私信息。
使用步骤
- 输入数字(多种写法都认),看四种记法结果。
- 工程记法看指数是否为 3 的倍数,对应 k/M/G 词头。
- 切「运算」模式做科学计数法四则运算。
- 复制结果;写论文用 × 10ⁿ 形式,写代码用 e 记法。
计算原理与示例
科学计数法怎么转换
转换规则只有一句:把小数点移到第一个非零数字之后,移了几位指数就是几,左移为正、右移为负。123000 → 1.23 × 10⁵(小数点左移 5 位);0.00045 → 4.5 × 10⁻⁴(右移 4 位)。整数也可以记为「位数减 1 就是指数」,如 299792458 是 9 位数,指数为 8。
工程记法与科学计数法的区别
工程记法与科学计数法的数值完全相同,唯一区别是指数必须是 3 的倍数,尾数落在 1~1000 之间,方便对应「千、百万、十亿」。同一个数:科学计数法 1.23 × 10⁵,工程记法 123 × 10³;阿伏伽德罗常数 6.022 × 10²³ 的指数 23 不是 3 的倍数,工程记法写作 602.214 × 10²¹。
为什么 0.1 + 0.2 在这里等于 0.3
加减法要先把指数对齐(化成同一个 n)再对尾数相加,乘除则直接算尾数、指数相加相减。本工具不用二进制浮点,而是把输入拆成「整数 × 10ⁿ」用 BigInt 精确计算,所以 0.1 + 0.2 得到严格的 0.3;除法保留 12 位有效数字并四舍五入,除不尽时标记为「近似」。
计算依据:科学计数法 a × 10ⁿ(1 ≤ |a| < 10),工程记法要求指数为 3 的倍数;十进制运算用 BigInt 精确实现(加减乘无损,除法保留 12 位有效数字并四舍五入);常量表数值取自 2019 年国际单位制(SI)定义值。
代码示例
JavaScript 规范化与工程记法
function toSci(n) {
if (n === 0) return "0";
const exp = Math.floor(Math.log10(Math.abs(n)));
const mant = n / 10 ** exp;
return { sci: mant + "e" + exp, exp, mant };
}
function toEng(n) { // 指数取 3 的倍数
const exp = Math.floor(Math.log10(Math.abs(n)) / 3) * 3;
return (n / 10 ** exp) + "e" + exp;
}
toEng(22000); // "22e3"(对应 22k)
Python 格式化与解析
f"{6.022e23:.3e}" # "6.022e+23"
# 工程记法(指数 3 的倍数):
from decimal import Decimal
n = 22000
exp3 = (len(str(abs(n))) - 1) // 3 * 3
n / 10 ** exp3, exp3 # (22.0, 3) → 22k
# 解析用户输入:float("1.23e5") 直接认
常见问题
科学计数法怎么还原成普通数字?
把尾数的小数点按指数移动:指数为正向右移,为负向左移,位数不够就补零。2.5 × 10³ → 2500;2.5 × 10⁻³ → 0.0025;6.022 × 10²³ → 6022 后面再补 20 个零。
有效数字是怎么数的?
从第一个非零数字开始数到最后一位。1.23 × 10⁵ 有 3 位有效数字,299792458 写成的 2.99792458 × 10⁸ 有 9 位。本工具会自动去掉末尾的零(3.0e8 记为 3 × 10⁸、1 位有效数字),因为省略的零是否算有效取决于测量精度,输入里无法判断。
工程记法和科学计数法有什么区别?
只有指数规则不同:工程记法要求指数是 3 的倍数、尾数落在 1~1000,好处是能直接读成「千 / 百万 / 十亿」。1.23 × 10⁵ 的工程记法是 123 × 10³;5.29177210903 × 10⁻¹¹ 的工程记法是 52.9177210903 × 10⁻¹²。
为什么一定要用科学计数法?
三个实际理由:一是极大极小值写得短(光速 299792458 m/s → 2.99792458 × 10⁸);二是乘除只需指数相加相减,估量级特别快(10⁸ × 10⁻³ = 10⁵);三是有效数字一眼可数,避免把 0.000000001 这类串数错零的个数。
0.1 + 0.2 为什么不等于 0.3?
因为计算机用二进制存小数,0.1 和 0.2 都只能被近似表示,双精度相加会得到 0.30000000000000004。本工具不用二进制浮点,而是把输入拆成「整数 × 10ⁿ」用 BigInt 精确运算,所以结果是严格的 0.3,1.1 × 1.1 也严格等于 1.21。
除法结果为什么标注「近似」?
1 ÷ 3 = 0.333… 是无限循环小数,有限位写不完。本工具保留 12 位有效数字并四舍五入,因此标注「近似」;能除尽的结果(1 ÷ 8 = 0.125、10 ÷ 4 = 2.5、1 ÷ 1000000 = 1 × 10⁻⁶)会标注「精确」。
指数最大能输入到多少?
单个输入的指数限制在 ±5000,运算结果的指数可以超出(1e2000 × 1e2000 = 1 × 10⁴⁰⁰⁰)。超过 ±5000 会提示「指数超出可处理范围」——这是防止构造 10 万位整数把页面卡死的保护,而不是数学限制。
可以直接粘贴论文里的 1.23 × 10⁵ 吗?
可以。上标数字、乘号(× 或 *)、^ 号、e 记法、千分位逗号、全角减号都会被自动识别:1.23 × 10⁵、1.23e5、1.23×10^5、1.23*10^5 四种写法结果完全一致。
延伸阅读
来自本站原创文章,讲清这个工具背后的算法与口径。