Использование int с отслеживанием десятичных знаков для обработки валюты в PHP
-
28-10-2019 - |
Вопрос
У меня проблема, хех.Я делаю расчеты с биткойнами на PHP.Когда я вызываю API, я возвращаю JSON со значениями биткойнов.Это строки с точностью до одной миллионной десятичной дроби.
Я отслеживал их как числа с плавающей запятой в своем приложении, но это приводило ко многим проблемам с точностью и потерям.
Итак, я решил перевести каждую строку в целое число и сохранить десятичную «степень».Я выполняю операцию, скажем, вычитание, а затем возвращаю результат в исходную степень.
Мой код (я знаю, что это чушь, я всю ночь возился с этим):
родовое словоНа данный момент я изо всех сил пытаюсь преобразовать результат обратно в правильную основу для всех различных значений ... Я должен все сделать неправильно - есть ли тип валюты, который я могу использовать длятакая точность?
Вот результат отладки:
родовое словоTIA SO!
Решение
Посмотрите на расширение BC Math , которое позволяет работать с произвольнымичисла точности, хранящиеся в виде строк.