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

WBOY
풀어 주다: 2016-06-23 14:10:33
원래의
1384명이 탐색했습니다.

$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;
로그인 후 복사

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


回复讨论(解决方案)

不要小数吗?
另外你这没有四舍五入,是需要的吗?
$percentA = round($a*100.0/$total);

不要小数吗?
另外你这没有四舍五入,是需要的吗?
$percentA = round($a*100.0/$total);

是要四舍五入的

$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);
로그인 후 복사
로그인 후 복사

$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.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!