Разделите $ 1 на 3 и настройте 1 цент

У меня есть цена, хранящаяся в таблице корзины покупок и пытающаяся найти способ настроить 1 цент, когда цена делится на 3 или любые другие нечетные числа.

$cost = '1'; $split = '3'; $check1 = $cost/$split; // .33 $check2 = $cost/$split; // .33 $check3 = $cost/$split; // this should give .34 

Как я могу настроить разницу?

Что-то вроде

 $cost = 1; $split = 3; $check1 = $cost/split; $total = intval($check1*100)*($split-1); $diff = $cost - $total/100; 

Хорошо, если вы хотите иметь неограниченные $checks и только иметь последний $check включите остаток, вы можете сделать что-то вроде:

 <?php $cost=1; $split=3; $q=round($cost/$split,2); $r=$cost-($split*$q); $firstchecks=$q; $lastcheck=$q+$r; ?> 

Почему бы не округлить до второго десятичного знака:

 function roundUp ($v,$d = 2 ) { $p=pow(10,$d); $c=ceil($p*$v); return ($c+ceil($p*$v-$c))/$p; } echo roundUp(1/3); // 0.34