DrFlor
(DrFlor)
04.Ноябрь.2021 10:18:33
#1
Здравствуйте.
Помогите решить пожалуйста один ребус для меня. Есть у меня число для примера пускай будет 0.07 это число вывожу из БД. Далее мне от этого числа нужно получить 50% расчет делаю по формуле a / 100 x b . В ответ получаю значение 0.035 далее преобразую полученный ответ до сотых number_format(0.035,2); результате получаю 0.04. После преобразования number_format и сложения числа с помощью jquery в результате получается 0.08, а должно получится 0.07. Вот как сделать правильное сложение чисел с вычислением всех процентов. Вот мой код
<script src="https://code.jquery.com/jquery-2.2.4.js"></script>
<script>
$( document ).ready(function(){
$("#minus").click(function(){
$("#sum").text($("#sum").text()/2);
});
$("#plus").click(function(){
$("#sum").text($("#sum").text()*2);
});
});
</script>
<span id='minus'>-</span>
<?php
$a = 0.07;
$b = 50;
$summa = $a / 100 * $b;
echo "<span id='sum'>".number_format($summa,2)."</span>";
?>
<span id='plus'>+</span>
AlexP
(Alex P.)
04.Ноябрь.2021 13:58:57
#2
Не понял причем тут php и jquery.
А цель-то какая, что и зачем происходит?
Ну и если 0.035 округлить до 0.04, то очевидно обратно никак не получить 0.035 ) Так что только не округлять, или не до двух знаков.
DrFlor
(DrFlor)
04.Ноябрь.2021 22:48:53
#3
Задачу решил таким способом на сколько правильно сделал не знаю, но работает так как мне нужно
<script src="https://code.jquery.com/jquery-2.2.4.js"></script>
<script>
$(document).ready(function(){
var sum2,sum3,sum4,proc,res;
sum2 = parseFloat($("#sum2").text());
sum3 = parseFloat($("#sum3").text());
proc = parseInt($("#proc").text());
$("#sum3").text(sum2);
res = sum3/100*proc;
$("#sum").text(res.toFixed(2));
$("#minus").click(function(){
sum2 = parseFloat($("#sum2").text());
sum3 = parseFloat($("#sum3").text());
proc = parseInt($("#proc").text());
$("#sum3").text(sum3-sum2);
sum4 = parseFloat($("#sum3").text());
res = sum4/100*proc;
$("#sum").text(res.toFixed(2));
});
$("#plus").click(function(){
sum2 = parseFloat($("#sum2").text());
sum3 = parseFloat($("#sum3").text());
proc = parseInt($("#proc").text());
$("#sum3").text(sum3+sum2);
sum4 = parseFloat($("#sum3").text());
res = sum4/100*proc;
$("#sum").text(res.toFixed(2));
});
});
</script>
<?php
$a = 0.07;
$b = 50;
echo "<span id='sum2' style='display:none;'>".$a."</span>";
echo "<span id='sum3' style='display:none;'>".$a."</span>";
echo "<span id='proc' style='display:none;'>".$b."</span>";
echo "<span id='minus'>-</span>";
echo "<span id='sum'></span>";
echo "<span id='plus'>+</span>";
?>