我试图在小数点后将一个值舍入到8个符号但它不会绕任何东西。例如:
12/653.44
result: 0.018364348677767
我想在,
之后舍入并输出8个符号。
这是功能:
public static function getUSDRate()
{
$urldata = get_curl_content('https://example.com/');
$rates = json_decode($urldata, TRUE);
if (!$rates) {
return '-';
}
$usdRate = $rates['USD']['sell'];
if (!$usdRate) {
return '-';
}
return round($usdRate, 8);
}
函数调用:$singles->price/getUSDRate()
然后,当我调用该函数时,它回显整数......
答案 0 :(得分:4)
如果希望结果只有8位小数,则应使用:
echo round($singles->price/getUSDRate(), 8);
根据您问题中的信息,我们可以看到您过早地进行四舍五入,因为您稍后会执行更多计算。您可以从getUSDRate()
函数中删除舍入。
如果要在显示的数字中得到8位小数,则必须在所有计算后执行舍入。您可以修改getUSDRate()
函数以包含舍入:
public static function getUSDRate($value)
{
$urldata = get_curl_content('https://example.com/');
$rates = json_decode($urldata, TRUE);
if (!$rates) {
return '-';
}
$usdRate = $rates['USD']['sell'];
if (!$usdRate) {
return '-';
}
return round($value/$usdRate, 8);
}
echo getUSDRate($singles->price);
注意:getUSDRate
函数的声明表明它是类的一部分。在这种情况下,对此静态函数的调用应为:
echo YOUR_CLASS_HERE::getUSDRate($singles->price);