簡體   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