用PHP计算百分比

用PHP计算百分比,php,percentage,Php,Percentage,如果我有一个小问题,我想 我成功地将此答案中的代码用于某个问题: 它工作得很好。我的输出是例如9,1。 现在我想把这个作为一个百分比,所以应该是91% $second\u步骤[0]给出9,1 我使用以下代码将其设置为百分比: $score=$second_步骤[0]*10 …但这将输出90而不是91 我做错了什么?它看起来像一个简单的代码,但我不确定为什么它输出90而不是91 希望有人能帮我 对不起,我的英语不好:)可能与数字格式有关。您的示例显示了9[comma]1,PHP将其视为字符串,并在

如果我有一个小问题,我想

我成功地将此答案中的代码用于某个问题:

它工作得很好。我的输出是例如9,1。 现在我想把这个作为一个百分比,所以应该是91%

$second\u步骤[0]
给出9,1

我使用以下代码将其设置为百分比:

$score=$second_步骤[0]*10

…但这将输出90而不是91

我做错了什么?它看起来像一个简单的代码,但我不确定为什么它输出90而不是91

希望有人能帮我


对不起,我的英语不好:)

可能与数字格式有关。您的示例显示了9[comma]1,PHP将其视为字符串,并在计算时返回脚本遇到的第一个数字部分(仅为9)。如果你想做数学运算,你需要把它转换成一个数字(读9[period]1)


你得到90是因为它把10看作一个整数。 因此,您的输出将转换为int

试试这个: $score=$second_step[0]*10.0 PHP将10视为int,但将10.0视为float。 您也可以通过如下方式将10掷到一个浮点数上: $score=$second_step[0]*floatval(10)

两种方法都可以,但第一种方法最好。

试试这个

$val = floatval(str_replace(',', '', $second_step[0]));

您的
$second\u步骤
被视为整数,请参见,除非您使用()明确更改脚本的区域设置


如果逗号需要保留在那里,并且您没有更改区域设置,例如,您可以执行
$temp=str_replace(“,”,“,$setlocale[1])

感谢您的快速回复!你能告诉我如何把它转换成数字吗?我不知道该怎么办。
$val = floatval(str_replace(',', '', $second_step[0]));