diff --git a/cpp/src/arrow/util/decimal.cc b/cpp/src/arrow/util/decimal.cc index 5999beae68079..1d84d2ce634f7 100644 --- a/cpp/src/arrow/util/decimal.cc +++ b/cpp/src/arrow/util/decimal.cc @@ -116,6 +116,9 @@ struct DecimalRealConversion : public BaseDecimalRealConversion { return OverflowError(real, precision, scale); } + // The algorithm below requires the destination decimal type + // to be strictly more precise than the source float type + // (see `kSafeMulByTenTo` calculation). if constexpr (kMaxPrecision <= kMantissaDigits) { return Derived::FromPositiveRealApprox(real, precision, scale); }