Использование int с отслеживанием десятичных знаков для обработки валюты в PHP

StackOverflow https://stackoverflow.com/questions/6381369

Вопрос

У меня проблема, хех.Я делаю расчеты с биткойнами на PHP.Когда я вызываю API, я возвращаю JSON со значениями биткойнов.Это строки с точностью до одной миллионной десятичной дроби.

Я отслеживал их как числа с плавающей запятой в своем приложении, но это приводило ко многим проблемам с точностью и потерям.

Итак, я решил перевести каждую строку в целое число и сохранить десятичную «степень».Я выполняю операцию, скажем, вычитание, а затем возвращаю результат в исходную степень.

Мой код (я знаю, что это чушь, я всю ночь возился с этим):

родовое слово

На данный момент я изо всех сил пытаюсь преобразовать результат обратно в правильную основу для всех различных значений ... Я должен все сделать неправильно - есть ли тип валюты, который я могу использовать длятакая точность?

Вот результат отладки:

родовое слово

TIA SO!

Это было полезно?

Решение

Посмотрите на расширение BC Math , которое позволяет работать с произвольнымичисла точности, хранящиеся в виде строк.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top