我在哪里添加 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) 无效?

Mysql Bigint数据类型带空格

hive 数据类型

TypeError:conversion form numpy.int64 to Decimal is not supported

第一范式数据库规范化

请问一下C#这句代码啥意思啊? decimal? a= 0; 看着像条件运算,又不像!