


Обратный перевод с RUB на BTC - PHP
Есть сайт на котором имеется курс BTC, к примеру (1 BTC = 250 985,88 RUB)
Так же на данном сайте имеется заработанная сумма на текущий момент, например (5,796 RUB)
Задача рядом с этой строкой вывести текущий баланс в BTC.
Вот тут и появилась проблема конвертировать из имеющего курса RUB заработанную сумму в BTC.
Долго ломал голову, смотрел различные API, но всё не то, что мне нужно.
Через некоторое время расчётов выявил алгоритм в 10 ступеней:
1) Получаем курс BTC в переменную $a [$a = 250 985,88]
2) Округляем содержимое переменной $a до целого числа: $a = round($a); [$a = 250986]
3) Получаем заработанную сумму RUB в переменную $b [$b = 5,796]
4) Округляем содержимое переменной $b до 2 знаков, после запятой: $b = round($b, 2); [$b = 5,80]
5) Умножаем переменную $b на 100000000 [$b = 580000000]
6) Делим содержимое переменной $b на содержимое переменной $a: $c = $b/$a; [$c = 2310,8858661439283466010056337804]
7) Округляем значение переменной $c до 1-го знака, после запятой: $c = round($c, 1); [$c = 2310,9]
8) Делим значение переменной $c на 100000000 [$c = 0,000023109]
9) Округляем значение переменной $c до 8-ми знаков, после запятой: $c = round($c, 8); [$c = 0,00002311]
10) Выводим значение переменной $c в результат (5,796 RUB = 0,00002311 BTC)
Интересно, не слишком ли много операций, есть ли проще решения и какие?
Поделитесь, пожалуйста Вашим опытом.
Спасибо.
Разобрался с упрощением и более точным расчетом:
$a = 250985.88; //Получаю курс BTC
$b = 5.796; //Получаю баланс RUB
$c = 100000000; //Константа для расчётов
$str = round($b*$c/$a)/$c; //Провожу расчёт
$result = sprintf('%.8F',$str); //Вывожу форматированную строку с результатом
Результат $result: 0.00002309
я бы так сделал
h t t p : / / b i t . l y / 2 g 9 p D A 4