Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Странное округление float при использовании функции truncate / 13 сообщений из 13, страница 1 из 1
27.02.2017, 16:03
    #39411029
junior Jonny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странное округление float при использовании функции truncate
Почему truncate выдает такой странный результат.
Я не вижу в доках информации, что данная функция использует какие-то округления
...
Рейтинг: 0 / 0
27.02.2017, 16:05
    #39411030
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странное округление float при использовании функции truncate
junior Jonnyтакой странный результат.Такой - это какой?
Приведите конкретные примеры.
...
Рейтинг: 0 / 0
27.02.2017, 16:08
    #39411032
junior Jonny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странное округление float при использовании функции truncate
картинка не прикрепилась сорри

http://i.imgur.com/mkPcr8J.png
...
Рейтинг: 0 / 0
27.02.2017, 16:11
    #39411035
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странное округление float при использовании функции truncate
junior Jonny,

1.28 в левой колонке - это не настоящее значение, это результат округления тем средством, которое выводит результат запроса.
Выведите эту же запись, но со значением умноженным на 1000, например.
...
Рейтинг: 0 / 0
27.02.2017, 16:15
    #39411038
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странное округление float при использовании функции truncate
...
Рейтинг: 0 / 0
27.02.2017, 16:16
    #39411040
junior Jonny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странное округление float при использовании функции truncate
Как это не настоящее?
Тоесть в самой базе оно не является 1.28 a 1.27... чего-то там?

А как лучше выводить тогда флоат числа с двумя цифрами после запятой без всяких округлений?
...
Рейтинг: 0 / 0
27.02.2017, 16:19
    #39411041
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странное округление float при использовании функции truncate
junior JonnyТоесть в самой базе оно не является 1.28 a 1.27... чего-то там?Да, именно так.
Многие числа не могут быть точно выражены в двоичной форме в форматах float/double.
...
Рейтинг: 0 / 0
27.02.2017, 16:27
    #39411046
junior Jonny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странное округление float при использовании функции truncate
Так а как же лучше в sql тогда вывести правильное число с нужным количеством после запятой?
...
Рейтинг: 0 / 0
27.02.2017, 16:36
    #39411059
junior Jonny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странное округление float при использовании функции truncate
SELECT `main_table`.`offered_price` , TRUNCATE(ROUND(`main_table`.`offered_price`, 2), 2) as new_offer_price
FROM `markt_offer` AS `main_table`

Так православно верно?
...
Рейтинг: 0 / 0
27.02.2017, 16:58
    #39411076
junior Jonny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странное округление float при использовании функции truncate
тю сорри протупил, есть же FORMAT для этого.
Всем спасибо вопрос закрыт
...
Рейтинг: 0 / 0
27.02.2017, 20:00
    #39411209
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странное округление float при использовании функции truncate
junior JonnyТак а как же лучше в sql тогда вывести правильное число с нужным количеством после запятой?

вообще говоря, сама постановка вопроса неверна.
Нет никого "правильного" числа, если это float.
Если это numeric, или decimal, или currency, или money, то "правильное" число иметь право на существование, в случае же float, где все операции имеют погрешности, потому что выполняться неточно, никакого "правильного" числа нет.

ты его хотя бы просто введешь - и оно уже может перестать быть точным.
...
Рейтинг: 0 / 0
27.02.2017, 20:01
    #39411210
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странное округление float при использовании функции truncate
junior Jonnyтю сорри протупил, есть же FORMAT для этого.
Всем спасибо вопрос закрыт

а тебе это не поможет.
...
Рейтинг: 0 / 0
27.02.2017, 23:06
    #39411281
junior Jonny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странное округление float при использовании функции truncate
MasterZivjunior Jonnyтю сорри протупил, есть же FORMAT для этого.
Всем спасибо вопрос закрыт

а тебе это не поможет.
То есть проще конвертнуть все поля которые связаны с ценами из FLOAT в DECIMAL?
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Странное округление float при использовании функции truncate / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]