TRUNC

Remove the decimal part of a number with TRUNC, keeping only the integer portion or a fixed number of decimal places.

Math & Trigonometry
|
Excel All versions
|
Google Sheets Supported

Spreadsheet editor

Syntax

=TRUNC(number, [num_digits]) Returns: Number

Arguments

Argument Required Description
number Yes The number you want to truncate.
num_digits No The number of decimal places to keep. Defaults to 0, which removes all decimals and returns only the integer part.

About

TRUNC removes the decimal portion of a number, cutting off digits beyond the precision you set. The second argument controls how many decimal places to keep: =TRUNC(8.976, 2) returns 8.97, and =TRUNC(8.976) returns 8. Unlike ROUND, TRUNC never rounds up. It always cuts toward zero.

Use TRUNC when you need a clean integer or a set decimal precision without any rounding. Common scenarios include stripping cents from financial totals, extracting whole hours from decimal time values, or simplifying data before display. It works the same way for positive and negative numbers, always moving toward zero.

The key difference from INT shows up with negative numbers. =INT(-4.3) returns -5 (rounds toward the nearest lower integer), while =TRUNC(-4.3) returns -4 (simply drops the decimal). Use TRUNC when you want to keep the sign intact and discard the fractional part.

Examples

TRUNC never rounds up

See how TRUNC and ROUND treat numbers near a rounding boundary differently. Change any number in column A and watch column C. TRUNC always cuts toward zero, even when the dropped digit is a 9.

Spreadsheet editor

TRUNC vs INT with negative numbers

Edit the negative values in column A and compare the INT and TRUNC results. Notice that INT(-4.7) returns -5 while TRUNC(-4.7) returns -4, a difference that only appears below zero.

Spreadsheet editor

Extract hours and minutes from decimal time

Watch how TRUNC splits decimal hours into whole hours and remaining minutes. Try changing 8.75 to any decimal value and see columns C and D update instantly.

Spreadsheet editor

Watch out for

Expecting TRUNC to round

TRUNC does not round. =TRUNC(9.999, 2) returns 9.99, not 10.00. This surprises people who expect it to behave like ROUND.

If you need rounding, use ROUND instead. TRUNC always cuts off digits toward zero, regardless of the value that follows.

Confusing TRUNC and INT with negative numbers

For positive numbers, TRUNC and INT give identical results. But for negative numbers they differ: =TRUNC(-4.7) returns -4, while =INT(-4.7) returns -5.

Use TRUNC when you want to drop the decimal and keep the sign as-is. Use INT when you want to round down to the next lower integer.

Forgetting that num_digits defaults to 0

If you omit the second argument, TRUNC removes all decimal places. =TRUNC(3.14) returns 3, not 3.14.

Specify num_digits when you want to keep decimal places. For example, =TRUNC(3.14159, 2) returns 3.14.

Tips & notes

You can pass a negative number for num_digits to truncate digits to the left of the decimal point. For example, =TRUNC(1567, -2) returns 1500.

Common questions

What is the difference between TRUNC and INT?

For positive numbers, they return the same result. The difference appears with negative numbers: =TRUNC(-4.3) returns -4 (drops the decimal toward zero), while =INT(-4.3) returns -5 (rounds toward the nearest lower integer). Use TRUNC when you want to simply discard the fractional part.

What happens if I omit the num_digits argument?

TRUNC defaults to 0, removing all decimal places and returning just the integer portion of the number.

Can I use TRUNC to truncate to the left of the decimal point?

Yes. Pass a negative value for num_digits. For example, =TRUNC(1567, -2) returns 1500, removing the tens and units digits.