Size: a a a

2020 April 02

АГ

Андрей Гуртовой in javascript_ru
Lucifer Moriarty
мне короче надо просчитать  суммы в рублях
есть таблица
т.к. есть трабла с плавающей точкой
решил все в копейки перевести и просуммировать
но  не тут было
Это и на бекендах так же работает.

Если нужно просуммировать то надо приводить копейки к целым а потом, в конце суммирования, обратно делать дроби.
Но лучший способ складывать цены -- делать это на бекенде.

Так ,в случае чего , все палки полетят в бекенд ))
источник

LM

Lucifer Moriarty in javascript_ru
Андрей Гуртовой
Это и на бекендах так же работает.

Если нужно просуммировать то надо приводить копейки к целым а потом, в конце суммирования, обратно делать дроби.
Но лучший способ складывать цены -- делать это на бекенде.

Так ,в случае чего , все палки полетят в бекенд ))
нуда в бекенде в руби это легко
источник

LM

Lucifer Moriarty in javascript_ru
но тут трабла что с бекенда в рублях приходят суммы
источник

LM

Lucifer Moriarty in javascript_ru
а JS теперь это должен просуммировать, там в зависимости что там человек ввел, где галочки поставил и т.п.
источник

LM

Lucifer Moriarty in javascript_ru
и конечно вся эта байда гдето работает а где то нет
источник

АГ

Андрей Гуртовой in javascript_ru
Lucifer Moriarty
а JS теперь это должен просуммировать, там в зависимости что там человек ввел, где галочки поставил и т.п.
если у тебя ответственная разработка, то все  манипуляции с суммами  нужно производить на бекенде
источник

LM

Lucifer Moriarty in javascript_ru
вроде как ты советал работает
сум*100000/1000
источник

АГ

Андрей Гуртовой in javascript_ru
иначе в случае ошибки   к тебе прибегут  из колл-центра
источник

LM

Lucifer Moriarty in javascript_ru
ну вот прибежали
источник

LM

Lucifer Moriarty in javascript_ru
поебали пол часа друг другу мозги )
источник

АГ

Андрей Гуртовой in javascript_ru
https://habr.com/ru/post/112953/
вот подробности  почему 0.1 + 0.2 не равно 0.3 :)
источник

LM

Lucifer Moriarty in javascript_ru
а оказывается некоторых суммах, вот бывают баги :)
источник

LM

Lucifer Moriarty in javascript_ru
но у большинства нормально
источник

АГ

Андрей Гуртовой in javascript_ru
потому что когда-то было решено, что все вычисления приблизительные :)
источник

LM

Lucifer Moriarty in javascript_ru
Андрей Гуртовой
https://habr.com/ru/post/112953/
вот подробности  почему 0.1 + 0.2 не равно 0.3 :)
про ето знаю немного
поэтому там я вот решил сделать через копейки умножив на 100
и потом делить на 100 сумму
а получается не всегда работает
источник

АГ

Андрей Гуртовой in javascript_ru
источник

АГ

Андрей Гуртовой in javascript_ru
:D ну и ладно
источник

LM

Lucifer Moriarty in javascript_ru
конечно там могу поставить Math.round(sum*100) типа
но мне не нравиться так :)
источник

LM

Lucifer Moriarty in javascript_ru
вово
источник

АГ

Андрей Гуртовой in javascript_ru
мне кажется не так всё просто )
источник