Function note

TRUNC of DBL_MIN returns a subnormal, not 0

FUNC.ROUNDDOWN · FUNC.ROUNDUP · FUNC.TRUNC

FN-TRUNC-001: TRUNC of DBL_MIN returns a subnormal, not 0

Excel differs from the mathematical answer · measured · recorded 2026-11-04

With DBL_MIN (0x0010000000000000) as number, TRUNC, ROUNDDOWN and ROUNDUP return the subnormal 0x000ffffffffffffa at each num_digits recorded, so TRUNC(DBL_MIN,0) is not 0. That value is 6 steps below DBL_MIN and 3 steps below 0x000ffffffffffffd, the binary64 nearest the 15-digit reading 2.22507385850720E-308. The recorded rows hold 256 such cases for each of the three functions. ROUND gives 0 on the same inputs.

Call and input routeInputsExcelCorrect valueRecorded in
TRUNC(2.2250738585072014e-308, 0)
cell-value2
number: 2.2250738585072014e-308
0x0010000000000000
num_digits: 0
0x0000000000000000
2.2250738585071984e-308
0x000ffffffffffffa
0
0x0000000000000000
Excel 16.0 build 20430, Windows 64-bit, CPU not recorded in this capture
TRUNC(2.2250738585072014e-308, 1)
cell-value2
number: 2.2250738585072014e-308
0x0010000000000000
num_digits: 1
0x3ff0000000000000
2.2250738585071984e-308
0x000ffffffffffffa
0
0x0000000000000000
Excel 16.0 build 20430, Windows 64-bit, CPU not recorded in this capture

Correct value: DBL_MIN is below 1, so truncating it at 0 or 1 places gives 0.

Correct value: DBL_MIN is below 1, so truncating it at 0 or 1 places gives 0.

Basis: Recorded rows of the broad capture; counts from the rounding write-up.

Open: Why this one input converts 3 steps below nearest.

Evidence and capture sources

Machine-readable note records