繁体   English   中英

用PHP计算百分比

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM