从变量中删除最后一个字符,然后与另一个变量相乘

时间:2010-04-19 16:32:46

标签: php html math

我有一大堆百分比存储为XX%(例如12%,50%等)我需要删除百分号然后将百分比乘以另一个只是数字的变量(例如1000,12000) )然后输出结果。是否有一种简单的方法来剥离百分号然后用PHP计算输出?或者我应该考虑某种JS解决方案?

6 个答案:

答案 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>");
}

?>