简单的舍入函数不舍入
Simple round function doesn't round
我试图将一个值四舍五入为小数点后的 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()
然后当我调用函数时它会回显整数...
如果你希望结果只有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
函数的声明表示它是 class 的一部分。在那种情况下,对该静态函数的调用应该是:
echo YOUR_CLASS_HERE::getUSDRate($singles->price);
我试图将一个值四舍五入为小数点后的 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()
然后当我调用函数时它会回显整数...
如果你希望结果只有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
函数的声明表示它是 class 的一部分。在那种情况下,对该静态函数的调用应该是:
echo YOUR_CLASS_HERE::getUSDRate($singles->price);