2016-06-22 4 views
-1

У меня есть образец следующие номера, которые хранятся в БД MySQL в десятичном формате (10,2)десятичного круглый неправильный расчет

1499.3927125506 - 1499.39 -> this is how it saved into the database 
384.41295546559 - 384.41 
278.74493927126 - 278.74 
537.44939271255 - 537.45 

Фактическая общая перед сохранением в базе данных 1700, однако после того, как экономия общая сумма становится 1699.99

Как я могу сделать общее 1700 NOT 1699.99?

+0

вашей экономии с пониженной точностью, вы никогда не получите такое же значение, если изменить точность –

+2

Я голосую, чтобы закрыть это вопрос как вне темы, потому что его математическая проблема, а не программирующая. –

ответ

0

Вам необходимо будет изменить MySQL datatype в соответствии с точностью ваших данных, если вы хотите избежать ошибок округления. В ваших представленных данных вам понадобится точность (суммарные цифры) 14 с шкалой (цифры после десятичной) из 10, которая будет , чтобы суммировать идеально до 1700.

0

С такими номерами вы должны использовать DOUBLE, а не DECIMAL(.., ..).

(Do не использования DOUBLE(.., ..);., Что будет просто добавить к вашим проблемам)

Смежные вопросы