LINUX.ORG.RU

Ответ на: комментарий от Trieforce

На сто умножать не обязательно. 4.1 == 4.0999999999999994 и без всяких умножений. Даже более локально: .1 == .0999999999999994. С абсолютной точностью флоаты хранят только суммы отрицательных степеней двойки. 0.1 таковой не является.

morse ★★★★★
()
Ответ на: комментарий от Trieforce

В db2, наверно, можно. Но я не использую db2.

blexey ★★★★★
()
Ответ на: комментарий от Trieforce

А что за напасть? Никто ведь не различит на глаз разницу координат в 0.000000001 пикселя, компонент цвета и даже метра. Тут важно выбрать вменяемый масштаб вычислений.
Если речь о деньгах, то в глубинах кода их лучше считать в целых «копейках». А если нужна точность — в соответствующих долях «копейки», но всё равно целым типом.

blexey ★★★★★
()

Номера кредитных карт хранишь в double ? :)

sS ★★★★★
()

> округление

int(lol*100)

/0

это называется отсекание дробной части, а не округление. man round или что там у вас в этих ваших плюсах.

unC0Rr ★★★★★
()
Ответ на: комментарий от unC0Rr

Ага, а double(int(x)) -почти все равно, что floor(x) (за исключением того, что int имеет довольно узкий «динамический диапазон»).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от unC0Rr

ну я «релизовал» округление чуть ниже (прибавив 0.05 к первой цифре)

Trieforce
() автор топика
Ответ на: комментарий от anonymous

ну например для оптимальной добычи еды, что бы каждой еде искался муравей в пределах viewradius. Но здесь не обэтом.

Trieforce
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.