Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP处理数字_Php_Numbers - Fatal编程技术网

PHP处理数字

PHP处理数字,php,numbers,Php,Numbers,我有两个来自数据库的用于支付的值,这些数字需要四舍五入到正确的格式,我这样做是不起作用的 Number1: 150000 -> This should be £150.00 Number1: 3000 -> This should be £30.00 使用 谢谢PHP做得很好,当你通过它时,整数和数字格式只需添加以下零 一个快速的解决方案是除以100或1000,这取决于您保存到DB的方式 <?="£" . number_format($packagePrice/100,2);

我有两个来自数据库的用于支付的值,这些数字需要四舍五入到正确的格式,我这样做是不起作用的

Number1: 150000 -> This should be £150.00
Number1: 3000 -> This should be £30.00
使用


谢谢

PHP做得很好,当你通过它时,整数和数字格式只需添加以下零

一个快速的解决方案是除以100或1000,这取决于您保存到DB的方式

<?="£" . number_format($packagePrice/100,2);?>

试试这个:

$number = 150000;

// Default english notation
$english_format_number = "£".number_format($number);
print($english_format_number);

把它们除以100?如果你的意思是150.00,你到底为什么要存储150000?这毫无意义。@PatrickQ这可能有意义,因为存储整数可能比存储浮点数更容易。@PatrickQ。。。可能是一个支付网关,IIRC SmartPay要求您以次要货币单位(例如便士或美分)发送订单值-可能是因为日元只是日元。@CD001和Syscall,这很可能是,但150000和150.00之间的关系并不适用。非常感谢!如果只传递了一个参数,请将数千个参数分隔开。就是这样。我读了这个文件,我的示例正确地回答了他的问题:)下次在回答不必要的问题前思考30秒。这个答案是错误的。他希望15万英镑等于150英镑。你的价值等于150000英镑。错。看看OP说了什么<代码>数字1:150000->这应该是150.00英镑你的答案没有这么做。你在改变OP想要的东西,这更像是黑客行为而不是真正的游戏solution@LeoR. 这是怎么回事?OP从DB中获取的数字有2个额外的0,因此将它们除以100是唯一合乎逻辑的事情。您尝试过您的方法吗?15万英镑的回报是1500.00英镑,而不是15万英镑。很明显,OP犯了一个错误。否则他的问题显然没有意义。OP改变了问题,首先是2个额外的0,现在是2和3:)。
<?="£" . number_format($packagePrice/100,2);?>
$number = 150000;

// Default english notation
$english_format_number = "£".number_format($number);
print($english_format_number);