截断数

截断将精度降低到零,并且不应用向上舍入或平局规则。

🔢
舍入计算器
输入数字并选择您的舍入首选项
|
🧪 快速示例

什么是截断?

截断是指删除数字中指定位置之后的位数,而不对剩余的数字进行舍入。对于小数而言,向零截断会删除不需要的小数位,同时使数字更接近零。

2.987 → 2.98
2.987 → 2.9
−2.987 → −2.98
2.987 → 2

截断是如何工作的?

应用截断需要遵循一个简单、严格的规则:

1

从原始数字开始

例如,取数字 45.6789。

2

选择要保留的位置

决定要保留的小数位数(例如,2个小数位数)。

3

保留该位置及之前的数字

确定截止点及之前的数字(45.67)。

4

删除其后的所有数字

丢弃其余所有内容(89)。不要改变保留的数字,结果为 45.67。不发生舍入。

如何将数字截断为整数

截断为整数只是去除了值的整个小数部分,仅留下整数。

  • 2.99 → 2
  • 2.01 → 2
  • −2.99 → −2
  • −2.01 → −2

请注意,对于负数,截断去除了小数,这意味着结果移向零。这与数学中的向下取整函数有极大的不同。

−2.99 的向下取整 = −3
−2.99 的截断 = −2

如何截断到小数位数

要将数字截断到特定的小数位数,您只需在小数点后保留该数量的位数,然后删除其余的。

12.9876 的示例:

  • 1个小数位数:12.9876 → 12.9
  • 2个小数位数:12.9876 → 12.98
  • 3个小数位数:12.9876 → 12.987
  • 4个小数位数:12.9876 → 12.9876

−12.9876 的示例(符号不变):

  • 1个小数位数:−12.9876 → −12.9
  • 2个小数位数:−12.9876 → −12.98
  • 3个小数位数:−12.9876 → −12.987

截断如何处理负数?

向零截断会使负数严格向零移动。

由于负号保持不变,且小数部分直接被删除,结果值在技术上大于原始值(例如,−3 大于 −3.9)。

  • −3.9 → −3
  • −3.5 → −3
  • −3.1 → −3
  • −3.99 截断到1个小数位数 → −3.9
  • −3.99 截断到2个小数位数 → −3.99
方法 输入:−3.9 结果
截断−3.9−3
向下取整−3.9−4
向上取整−3.9−3

这是一个关键区别:对于负值,截断的行为与向上取整函数相同,而对于正值,截断的行为与向下取整函数相同。

截断如何处理正数?

对于正数,直接删除小数位意味着数字向零移动(在数轴上向下)。

  • 3.9 → 3
  • 3.99 → 3
  • 15.678 → 15.67
  • 123.4567 → 123.45

当数字已经是整数时会发生什么?

如果数字已经是整数(即整数值),截断会让其完全保持不变,因为没有需要删除的小数位。

  • 5 → 5
  • 0 → 0
  • −5 → −5
  • 100 → 100

零的截断是什么?

截断零或零的任何变体都只得到零。

  • 0 → 0
  • 0.0 → 0
  • −0.5 → 0 (向零截断为整数时)

截断分数

截断也可以在将分数求值为其小数形式后应用。

示例 1: 7 / 3 = 2.333...
截断到2个小数位数:2.33

示例 2: 11 / 4 = 2.75
截断到1个小数位数:2.7

示例 3: −7 / 3 = −2.333...
向零截断到2个小数位数:−2.33

截断示例

输入 目标 截断结果 解释
2.99整数2删除小数部分
−2.99整数−2向零移动
45.67892个小数位数45.67删除第二个小数位之后的数字
12.98761个小数位数12.9删除第一个小数位之后的数字
−12.98762个小数位数−12.98删除第二个小数位之后的数字
7.9992个小数位数7.99不发生舍入

截断公式

向零截断到特定数量的小数位数(n)背后的数学概念包括缩放数字、丢弃小数部分,然后缩放回来。

trunc(x × 10ⁿ) / 10ⁿ

这是通过以下方式实现的:

  1. 乘以 10ⁿ,将目标小数位移动到整数位置。
  2. 向零截断,丢弃剩余的小数部分。
  3. 除以 10ⁿ,恢复原来的小数位置。

正数示例

将 12.987 截断到2个小数位数:

  • 12.987 × 100 = 1298.7
  • trunc(1298.7) = 1298
  • 1298 / 100 = 12.98

负数示例

将 −12.987 截断到2个小数位数:

  • −12.987 × 100 = −1298.7
  • trunc(−1298.7) = −1298
  • −1298 / 100 = −12.98

截断函数

在数学上,对于实数 x,向零截断可以使用向下取整和向上取整函数分段定义:

trunc(x) = floor(x) 当 x ≥ 0
trunc(x) = ceiling(x) 当 x < 0

或者,使用符号函数(sgn 或 sign)和绝对值(|x|):

trunc(x) = sign(x) × floor(|x|)

这两个公式都在数学上对正负值实施了“向零移动”规则。

截断与舍入

截断和舍入是根本不同的操作。截断直接忽略丢弃的数字。舍入则根据丢弃的数字来决定是否应增加保留的数字。

示例 1: 2.987

  • 截断到2个小数位数:2.98
  • 舍入到2个小数位数:2.99

示例 2: 2.983

  • 截断到2个小数位数:2.98
  • 舍入到2个小数位数:2.98

示例 3: −2.987

  • 向零截断:−2.98
  • 舍入到最接近的百分位:−2.99

截断不意味着它是最接近值舍入的一种类型;它是一种独立的截断机制。

截断与向下取整函数

截断使值向零移动。向下取整函数使值向负无穷大移动。

对于正数,它们的行为完全相同。对于负数,它们朝着相反的方向移动。这使得负数上的差异极其明显。

输入 截断(向零) 向下取整(向 −∞)
2.722
2.122
−2.1−2−3
−2.7−2−3
−5.9−5−6

截断与向上取整函数

截断向零移动。向上取整函数向正无穷大移动。

对于负值,截断和向上取整通常产生相同的整数结果,因为从负小数向正无穷大移动会指向零。对于正数,它们有所不同。

输入 截断 向上取整
2.723
−2.7−2−2
−2.1−2−2

截断与向下舍入相同吗?

不。向零截断和数学上的向下取整(通常非正式地称为“向下舍入”)对负数来说是不同的操作。

考虑值 −2.7:

  • 截断 → −2
  • 向下取整(向下舍入) → −3

因为“向下舍入”这个词可能是有歧义的,所以始终要明确您是指严格向负无穷大移动(向下取整),还是向零剔除数字(截断)。

截断与四舍五入

四舍五入考虑下一个数字以决定是否更改保留的值,将正好一半的情况推离零。

对于 2.65 截断到1个小数位数:

  • 截断 → 2.6
  • 四舍五入 → 2.7

对于 −2.65 截断到1个小数位数:

  • 截断 → −2.6
  • 四舍五入 → −2.7

截断与银行家舍入

银行家舍入是一种最接近值规则,对正好一半的情况有特殊处理。截断则只是删除数字,没有任何平局打破(tie-breaking)规则。

对于 2.65 截断到1个小数位数(正好是一半,保留偶数数字):

  • 截断 → 2.6
  • 银行家舍入 → 2.6

对于 2.75 截断到1个小数位数(正好是一半,保留奇数数字):

  • 截断 → 2.7
  • 银行家舍入 → 2.8

数轴上的截断

从视觉上看,截断总是将非整数值在数轴上向内(向零)拉近。

  • 对于正值(2.8 → 2),它将值向左(向零)拉。
  • 对于负值(−2.8 → −2),它将值向右(向零)拉。

相比之下,向下取整无论符号如何,总是向左移动(−2.8 → −3)。

什么时候应该使用截断?

截断非常具体,应该根据计算的需求来使用。您在以下情况应该使用截断:

  • 显示固定数量的小数位数而不进行舍入。
  • 完全消除额外的精度。
  • 处理指定的截止线是刻意为之的测量数据。
  • 执行某些编程和数据处理任务。
  • 实现受控的数值显示,其中增加显示值是不受欢迎的。

截断并不总是更好或更差;与标准舍入相比,它只是满足了不同的分析需求。

截断在现实世界中的应用

更倾向于使用截断的具体示例包括:

  • 金融显示: 某些特定的金融显示明确要求向下截断不足一分的部分,以防止显示虚增的余额,尽管实际算术通常需要特定的舍入规则。
  • 测量数据和传感器值: 在存储前从传感器噪声中去除过高的精度以节省空间。
  • 数字显示: 显示 99.9% 完成度的进度条通常会截断为 99%,以防止过早显示 100%。
  • 数据报告: 统计学和数据预处理经常采用截断来安全地划分人口统计数据。
  • 科学计算: 严格的协议要求固定截止值的环境。

编程中的截断

编程语言提供了专门用于截断数值的不同函数。

Python 中的截断

使用 math 模块中的 math.trunc() 函数将数字向零截断。不要将其与 math.floor() 混淆。

import math
math.trunc(2.99) // Returns 2
math.trunc(-2.99) // Returns -2

JavaScript 中的截断

使用 Math.trunc() 函数可以轻松地将数字的小数部分向零去除。

Math.trunc(2.99) // Returns 2
Math.trunc(-2.99) // Returns -2

Java 中的截断

在 Java 中,将浮点数显式强制转换为整数即可执行数学截断。

(int) 2.99 // Returns 2
(int) -2.99 // Returns -2

C# 中的截断

使用 Math.Truncate() 向零去除小数部分。

Math.Truncate(2.99) // Returns 2
Math.Truncate(-2.99) // Returns -2

Excel 中的截断

使用 TRUNC(number, num_digits) 函数。默认情况下,它会截断为整数,但您可以轻松指定小数位数。

TRUNC(2.987, 2) // Returns 2.98
TRUNC(-2.987, 2) // Returns -2.98
TRUNC(2.987) // Returns 2

SQL 中的截断

不同的数据库系统使用不同的函数。PostgreSQL 和 Oracle 提供了原生的 TRUNC() 函数,而 SQL Server 通常依赖 ROUND(value, decimals, 1) 来强制截断而不是舍入。

常见截断错误

  • 认为截断意味着舍入到最接近值: 纠正 — 截断完全忽略丢弃的数字,并且从不向上舍入。
  • 认为截断总是向下移动: 纠正 — 它向零移动。对于负数,这意味着该值在技术上是向上移动(例如 −3.9 变为 −3)。
  • 将截断与向下取整混淆: 纠正 — 向下取整向负无穷大移动。截断向零移动。
  • 将截断与向上取整混淆: 纠正 — 向上取整向正无穷大移动。截断向零移动。
  • 忘记负数向零移动: 纠正 — −2.9 截断为 −2,而不是 −3。
  • 在需要舍入到最接近值时使用截断: 纠正 — 不要使用截断来近似值;仅在需要硬性截止时使用它。
  • 假设丢弃的数字会影响保留的数字: 纠正 — 截断从不根据删除的内容调整保留的数字。
  • 将十进制显示格式与数学截断混淆: 纠正 — 隐藏小数的 UI 组件有时会在底层应用舍入。验证您的展示层。
  • 在财务计算中未检查所需规则而使用截断: 纠正 — 财务数学通常强制要求标准化的舍入规则,以避免破坏价值。

截断快速参考

向零截断去除小数部分,不对剩余值进行舍入。

输入 截断为整数
2.92
2.12
−2.9−2
−2.1−2
55
−5−5

截断练习

通过这些示例测试您的知识。点击以显示截断后的答案。

将 8.765 截断到2个小数位数。
8.76
将 −8.765 截断到2个小数位数。
−8.76
将 9.999 截断为整数。
9
将 −9.999 截断为整数。
−9
将 45.6789 截断到3个小数位数。
45.678
将 0.005 截断到2个小数位数。
0.00
将 100.1 截断为整数。
100
将 −3.14159 截断到3个小数位数。
−3.141
将 15 / 4 (3.75) 截断为整数。
3
将 −15 / 4 (−3.75) 截断为整数。
−3

常见问题解答

什么是截断?
截断是从数字中删除超出指定位置的数字而不对剩余数字进行四舍五入的过程。
数学中的截断是什么意思?
在数学中,截断数字意味着截断其小数部分,使值更接近于零,而不应用最近值平局规则。
什么是截断数计算器?
截断数字计算器是一种工具,可以自动将数字中不需要的数字删除到指定的精度,从而确保不会发生舍入。
如何截断一个数字?
选择位置,保留该点之前的所有数字,丢弃其余的。
截断是否四舍五入?
不会。截断完全忽略丢弃的数字。
截断和舍入的区别?
舍入会根据丢弃的数字更改保留的数字。截断只是删除数字。
截断总是趋向于零吗?
是的,当截断小数时,删除正数或负数的小数部分总是使其值更接近于零。
截断如何处理负数?
负数被截断后会趋向于零。例如,-3.9 截断为-3。
截断和取整有什么区别?
截断向零移动,而下限向负无穷移动。例如,-2.1 的下限为 -3,但截断 -2.1 会得到 -2。
截断和天花板有什么区别?
天花板走向正无穷大。截断 2.1 得到 2,但 2.1 的上限是 3。
能截断到小数位吗?
是的。您可以通过保留所需的小数位数并删除其余部分来截断到任何小数位。
如何截断到小数点后两位?
保留小数点后的前两位数字并删除其他所有数字。例如,5.6789 变为 5.67。
如何在 Python 中截断数字?
使用 math 模块中的 math.trunc() 函数将数字截断为零。
如何在 JavaScript 中截断数字?
使用 Math.trunc() 函数可以轻松删除数字的小数位。
如何在 Excel 中截断数字?
使用 TRUNC 函数,指定数字和所需的位数,例如 TRUNC(2.987, 2)。
截断与向下舍入相同吗?
不。对于负数,截断和向下舍入(下舍入)是不同的。截断 -2.9 得到 -2,向下舍入得到 -3。
整数可以用截断法吗?
是的,如果截断一个整数,它会保持完全相同,因为没有要删除的小数位。

Embed this calculator

Free to embed on your blog or classroom site.