[英]Calculate percentage with PHP
如果有一个小问题,我想。
我成功地使用了这个答案的代码来解决某个问题: 从外部网站获取DIV内容
它很棒。 我的输出例如是9,1。 现在我想把这个百分比,所以它应该是91%。
$second_step[0]
给出9,1。
我使用以下代码使其成为百分比:
$score = $second_step[0] * 10;
...但是输出90而不是91。
我做错了什么? 它看起来像一个简单的代码,但我不确定为什么它输出90而不是91。
希望有人可以帮助我。
对不起,我的英语不好 :)
尝试这个
$val = floatval(str_replace(',', '', $second_step[0]));
可能与数字格式有关。 您的示例显示9 [逗号] 1,PHP将其视为字符串,并在计算时返回脚本遇到的第一个数字部分(仅为9)。 如果要进行数学运算,则需要将其转换为数字(读取9 [期间] 1)。
$score = floatval(str_replace(',', '.', $second_step[0])) * 10;
你得到90因为它认为10是一个int。 因此,您的输出将转换为int。
试试这个: $ score = $ second_step [0] * 10.0; PHP将10视为int,但将10.0视为浮点数。 您也可以通过这样做将10投射到浮点数: $ score = $ second_step [0] * floatval(10);
两种方法都可行,但第一种方法将是最好的。
您的$second_step
被视为整数,请参阅http://php.net/manual/de/language.types.string.php#language.types.string.conversion,除非您使用setlocale ()明确更改脚本的语言环境。
如果逗号需要留在那里并且你没有改变语言环境,你可以例如做$temp = str_replace("," , "." , $setlocale[1]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.