| От | Michael Fuhr |
|---|---|
| Тема | Re: BUG #1888: bug in cast from float4 to float8 |
| Дата | |
| Msg-id | 20050917135136.GA8979@winnie.fuhr.org обсуждение исходный текст |
| Ответ на | BUG #1888: bug in cast from float4 to float8 ("Pablo Oses" <opablo@gmail.com>) |
| Список | pgsql-bugs |
On Sat, Sep 17, 2005 at 04:00:50AM +0100, Pablo Oses wrote: > select cast(123.456::float4 as float8) > > what do you think its the answer ? 123.456 ? > > well pgsql 7.2.2, 8.0.0, 8.0.1 and 8.0.3 (all i have used) answers this: > 123.456001281738 which is WRONG Float4 has a precision of only about 6 digits, so you can't assume much about the digits beyond that. See the documentation for floating-point types: http://www.postgresql.org/docs/8.0/interactive/datatype.html#DATATYPE-FLOAT This is hardly a behavior unique to PostgreSQL; use a search engine to find explanations of the problems of using binary floating-point numbers. If you need exact results then use the numeric type. -- Michael Fuhr
В списке pgsql-bugs по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера