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

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

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

А как лучше выводить тогда флоат числа с двумя цифрами после запятой без всяких округлений?
...
Рейтинг: 0 / 0
Странное округление float при использовании функции truncate
    #39411041
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junior JonnyТоесть в самой базе оно не является 1.28 a 1.27... чего-то там?Да, именно так.
Многие числа не могут быть точно выражены в двоичной форме в форматах float/double.
...
Рейтинг: 0 / 0
Странное округление float при использовании функции truncate
    #39411046
junior Jonny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так а как же лучше в sql тогда вывести правильное число с нужным количеством после запятой?
...
Рейтинг: 0 / 0
Странное округление float при использовании функции truncate
    #39411059
junior Jonny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Странное округление float при использовании функции truncate
    #39411076
junior Jonny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тю сорри протупил, есть же FORMAT для этого.
Всем спасибо вопрос закрыт
...
Рейтинг: 0 / 0
Странное округление float при использовании функции truncate
    #39411209
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junior JonnyТак а как же лучше в sql тогда вывести правильное число с нужным количеством после запятой?

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

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

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

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


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