我在哪里添加 int $decimals = 0?
Posted
技术标签:
【中文标题】我在哪里添加 int $decimals = 0?【英文标题】:Where do I add int $decimals = 0? 【发布时间】:2015-03-31 09:30:06 【问题描述】:我需要打印一个带两位小数的数字,我相信我使用了这段代码int $decimals = 0
,但我不知道我需要在哪里添加它。
这是我的代码:
<?php
$tempPrice = str_replace(',',"", $price); //gets rid of ","
$tempPrice = substr($tempPrice,2); //removes currency from the front
$tempPrice = floatval($tempPrice); //converts to double from string
if($tempPrice > 1000)
echo '£' . round(($tempPrice*0.038), 2) . ' per month';
else
echo 'Lease to buy price not available on this product';
?>
谢谢
【问题讨论】:
【参考方案1】:您可以使用 money_format() php 函数。 http://php.net/money_format
例如你的情况
<?php
$tempPrice = str_replace(',',"", $price); //gets rid of ","
$tempPrice = substr($tempPrice,2); //removes currency from the front
$tempPrice = floatval($tempPrice); //converts to double from string
// set international format for the en_GB locale
setlocale(LC_MONETARY, 'en_GB');
if($tempPrice > 1000)
echo money_format('%i', $tempPrice ) . " per month";// output->"GBP 1,234.56 per month"
else
echo 'Lease to buy price not available on this product';
?>
此外,您可以在 $tempPrice 上使用 php number_format() http://php.net/number_format
echo "£ ". number_format($tempPrice ) . " per month";
默认使用 number_format() 英文符号。您可以设置自己的小数点数、小数点设置符和千位分隔符
echo "£ ". number_format($tempPrice, 2, ".", "," ) . " per month"; // for $tempPrice=1203.52 output will be "£ 1,203.56 per month"
【讨论】:
嗨,彼得,感谢您的帮助。第一个示例打印 GBP,有没有办法将其更改为 £?替代 number_format 我应该将. round
更改为. number_format
吗?
您的问题的第一部分已在此处***.com/questions/9019337/… 之前得到解答。在第二部分...是的,可以更改它,但检查 number_format 函数以将其设置为您的需要。以上是关于我在哪里添加 int $decimals = 0?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Decimal.Divide(int, int) 有效,但 (int / int) 无效?
TypeError:conversion form numpy.int64 to Decimal is not supported