test=# select CAST(CAST('10e+003' AS FLOAT) AS int); int4 ------- 10000 (1 row) test=# select CAST(CAST('10e+003' AS FLOAT) AS bigint); int8 ------- 10000 (1 row)