我有一大堆百分比存储为XX%(例如12%,50%等)我需要删除百分号然后将百分比乘以另一个只是数字的变量(例如1000,12000) )然后输出结果。是否有一种简单的方法来剥离百分号然后用PHP计算输出?或者我应该考虑某种JS解决方案?
答案 0 :(得分:4)
您可以使用rtrim()
:
$value = ((int) rtrim('12%', '%')) * 1000';
修改强>
你不需要调用rtrim(),因为它使用百分号转换为int ok。剥离它可能更干净。
var_dump (12 === (int) '12%');
//output: bool(true)
答案 1 :(得分:1)
试试这个:
$number = str_replace('%', '', '100%');
$result = intval($number) * 5000; // or whatever number
echo $result;
答案 2 :(得分:1)
如果您在PHP中使用trim()或str_replace(),则可以删除百分号。然后,你应该能够将得到的数字相乘(毕竟php是弱类型的)。
<?php
$number = str_replace("%", "", $percentString);
$newNumber = ((int) $number) * 1000;
echo $newNumber;
?>
答案 3 :(得分:1)
您可以将preg_replace_callback用作:
$input = '12%, 50%';
$input = preg_replace_callback("|(\d+)%|","replace_precent",$input);
echo $input; // 12000, 50000
function replace_precent($matches) {
return $matches[1] * 1000;
}
答案 4 :(得分:0)
您可以使用str_replace。您还可以将一系列主题传递到str_replace,以便全部替换它们。
<?php
$number = str_replace("%", "", $percentage);
$result = $number * $other_var;
print $result;
?>
答案 5 :(得分:0)
<?php
$input=array('15%','50%','10.99%','21.5%');
$multiplier=1000;
foreach($input as $n){
$z=floatval($n)*$multiplier;
print("$z<br>");
}
?>