PHP乘法不起作用

时间:2014-06-15 01:19:41

标签: php math

$databtcguild = file_get_contents('http://btcguild.com');
preg_match('~<b>Pool Speed</b></a> (.*?) TH/s~',$databtcguild,$btcguild);
$btcguildhashrategh = ($btcguild[1] * 1000);

echo $btcguildhashrategh;
echo "<br>";
echo $btcguild[1];

由于某种原因,此代码输出了错误的答案。例如,$ btcguild [1]将等于12,747,此代码将输出12000.我完全迷失在这里。谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

&#34;哈希速度&#34;您从该网站提取的值的值为逗号:

  

12747

PHP需要将此字符串转换为数字值,逗号导致返回数值12,被解释为小数)

确保在乘以之前删除所有非数字字符:

//keep only values 0-9 and decimal (period)
$hash_speed = preg_replace("/[^0-9.]/", "", $btcguild[1]);

$btcguildhashrategh = ($hash_speed * 1000); //returns 12747000

答案 1 :(得分:-2)

尝试显式地输入结果:$btcguildhashrategh = ((double)$btcguild[1] * 1000); 否则PHP会将其转换为int