jackc/pgx · error
cannot convert NaN to integer
Error message
cannot convert NaN to integer
What it means
Error "cannot convert NaN to integer" thrown in jackc/pgx.
Source
Thrown at pgtype/numeric.go:152
if bigF, ok := new(big.Float).SetString(src); ok {
smallF, _ := bigF.Float64()
src = strconv.FormatFloat(smallF, 'f', -1, 64)
}
num, exp, err := parseNumericString(src)
if err != nil {
return err
}
*n = Numeric{Int: num, Exp: exp, Valid: true}
return nil
}
func (n *Numeric) toBigInt() (*big.Int, error) {
if n.NaN {
return nil, fmt.Errorf("cannot convert NaN to integer")
} else if n.InfinityModifier != Finite {
return nil, fmt.Errorf("cannot convert %v to integer", n.InfinityModifier)
}
if n.Int == nil {
return big.NewInt(0), nil
}
if n.Exp == 0 {
return n.Int, nil
}
num := &big.Int{}
num.Set(n.Int)
if n.Exp > 0 {
mul := &big.Int{}
mul.Exp(big10, big.NewInt(int64(n.Exp)), nil)
num.Mul(num, mul)View on GitHub (pinned to ec1a0befd2)
When it happens
Trigger: Thrown at pgtype/numeric.go:152 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of jackc/pgx@ec1a0befd2 (2026-08-04).
Data as JSON: /data/errors/75d3c0dd36bb5829.json.
Report an issue: GitHub.