Heim >Backend-Entwicklung >PHP-Tutorial >PHP中计算百分比时怎么保证各部和为1

PHP中计算百分比时怎么保证各部和为1

PHP中文网
PHP中文网Original
2017-03-24 14:50:063208Durchsuche

      PHP中计算百分比时如何保证各部和为1?

本帖最后由 Jasmine_xiaocao 于 2013-05-18 09:51:53 编辑

$total = $a+$b+$c+$d;

$percentA = ceil($a*100.0/$total);
$percentB = ceil($b*100.0/$total);
$percentC = ceil($c*100.0/$total);
$percentD = ceil($d*100.0/$total);

上面的代码似乎无法确保最后的总和是100%

$percentD = 100-$percentA-$percentB-$percentC;

除了这种方法,有其他方法吗?                     

------解决方案--------------------

$a = array(1,2,3,3);
$total = array_sum($a);
array_walk($a, function(&$item, $key, $prefix) { $item = round($item*100/$prefix); }, $total);
if($d = (100 - array_sum($a))) $a[rand(0, count($a)-1)] += $d;
print_r($a);

以上就是PHP中计算百分比时怎么保证各部和为1的内容,更多相关内容请关注PHP中文网(www.php.cn)!

相关文章:

php 扇形比例百分比显示程序代码

投票最后显示进度条的百分比怎么算

PHP执行进度百分比代码

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn