Усечь номер
Усечение снижает точность до нуля и не применяет правила округления или связи.
Что такое усечение?
Усечение удаляет цифры из числа за указанной позицией без округления оставшихся цифр. Для десятичных чисел усечение к нулю удаляет ненужные дробные цифры, сохраняя число ближе к нулю.
Как работает усечение?
Применение усечения требует соблюдения простого и строгого правила:
Начните с исходного числа
Например, возьмите число 45.6789.
Выберите позицию для сохранения
Определите количество десятичных знаков, которое нужно оставить (например, 2 десятичных знака).
Оставьте цифры до этой позиции
Определите цифры до точки отсечения (45.67).
Удалите все цифры после
Отбросьте все остальное (89). Не изменяйте оставленные цифры, в результате получится 45.67. Округление не происходит.
Как усечь число до целого числа
Усечение до целого числа просто удаляет всю дробную часть значения, оставляя только целое число.
- 2.99 → 2
- 2.01 → 2
- −2.99 → −2
- −2.01 → −2
Обратите внимание, что для отрицательных чисел усечение удаляет дробь, что означает, что результат приближается к нулю. Это критическое отличие от математической функции пол.
Усечение от −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.6789 | 2 десятичных знака | 45.67 | Удалить цифры после второго десятичного знака |
| 12.9876 | 1 десятичный знак | 12.9 | Удалить цифры после первого десятичного знака |
| −12.9876 | 2 десятичных знака | −12.98 | Удалить цифры после второго десятичного знака |
| 7.999 | 2 десятичных знака | 7.99 | Округление не происходит |
Формула усечения
Математическая концепция, лежащая в основе усечения к нулю до определенного количества десятичных знаков (n), включает в себя масштабирование числа, отбрасывание дроби и обратное масштабирование.
Это работает следующим образом:
- Умножение на 10ⁿ, чтобы переместить целевой десятичный знак в позицию целого числа.
- Усечение к нулю для отбрасывания оставшейся дробной части.
- Деление на 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) = ceiling(x) when x < 0
В качестве альтернативы, используя функцию знака (sgn или sign) и абсолютное значение (|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.7 | 2 | 2 |
| 2.1 | 2 | 2 |
| −2.1 | −2 | −3 |
| −2.7 | −2 | −3 |
| −5.9 | −5 | −6 |
Усечение против функции потолок
Усечение перемещается к нулю. Функция потолок перемещается к плюс бесконечности.
Для отрицательных значений усечение и функция потолок часто дают одинаковый целочисленный результат, потому что движение к плюс бесконечности от отрицательного десятичного числа ведет к нулю. Для положительных чисел они различаются.
| Ввод | Усечение | Функция потолок |
|---|---|---|
| 2.7 | 2 | 3 |
| −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
Усечение против банковского округления
Банковское округление — это правило приведения к ближайшему значению со специальной обработкой для точных случаев половин. Усечение просто удаляет цифры без каких-либо правил разрешения ничьей.
Для 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.trunc() из модуля math для усечения числа к нулю. Не путайте это с math.floor().
math.trunc(2.99) // Returns 2
math.trunc(-2.99) // Returns -2
Усечение в JavaScript
Используйте функцию Math.trunc(), чтобы легко удалить дробные цифры числа к нулю.
Math.trunc(-2.99) // Returns -2
Усечение в Java
В Java явное приведение числа с плавающей запятой к целому числу выполняет математическое усечение.
(int) -2.99 // Returns -2
Усечение в C#
Используйте Math.Truncate(), которое удаляет дробную часть к нулю.
Math.Truncate(-2.99) // Returns -2
Усечение в Excel
Используйте функцию TRUNC(number, num_digits). По умолчанию она усекает до целого числа, но вы легко можете указать десятичные знаки.
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.
- Использовать усечение, когда требуется округление до ближайшего: Исправление — Не используйте усечение для аппроксимации значений; используйте его только тогда, когда желательно жесткое отсечение.
- Предполагать, что отброшенные цифры влияют на оставленные цифры: Исправление — Усечение никогда не корректирует оставленную цифру на основе того, что было удалено.
- Путать форматирование десятичного отображения с математическим усечением: Исправление — Компоненты пользовательского интерфейса, скрывающие десятичные дроби, иногда применяют округление "под капотом". Проверяйте свой слой отображения.
- Использовать усечение в финансовых расчетах без проверки требуемых правил: Исправление — Финансовая математика часто требует стандартизированных правил округления, чтобы избежать уничтожения стоимости.
Краткий справочник по усечению
Усечение к нулю удаляет дробную часть без округления оставшегося значения.
| Ввод | Усечь до целого числа |
|---|---|
| 2.9 | 2 |
| 2.1 | 2 |
| −2.9 | −2 |
| −2.1 | −2 |
| 5 | 5 |
| −5 | −5 |
Практика усечения
Проверьте свои знания на этих примерах. Нажмите, чтобы показать усеченные ответы.