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
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.
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.
Exercises using TRUNC
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
⚠
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.