3

我想将 1000 格式化为 10.00 PHP number_format 函数似乎对此不起作用。

我努力了:

$amount2 = number_format("$cost",2,"",",");
echo "$cost";

有任何想法吗?有没有办法我可以操纵 number_format 来显示结果(即只在最后两位数字之前插入一个小数?

4

5 回答 5

4

数字格式会改变“.” 到一个“,”,但你告诉它格式化一千。

$cost=1000;
echo number_format($cost,2,'.',',');
//1,000.00

你想要的只是:

$cost=1000;
 echo number_format($cost/100,2,'.',',');
//10.00
于 2013-10-18T09:20:19.877 回答
0

第三个参数number_format应该是您要用作小数点的字符。你为什么要传递一个空字符串?为什么将数字 ( $cost) 放在字符串中?

尝试这个:echo number_format($cost,2,'.',',');

编辑:也许我误解了你的问题——如果你想让数字 1000 显示为 10.00,只需$cost在调用之前除以 100即可number_format()

于 2013-10-18T09:13:38.930 回答
0

这对你来说合法吗?

<?php
$cost=1000;
echo substr($cost, 0, 2) . "." . substr($cost, 2);//10.00
于 2013-10-18T09:14:47.253 回答
0

1000 和 10.00 是完全不同的数字(值)。除以 100,然后正确格式化:

$cost = 1000 ;
$cost /= 100 ;

$amount2 = number_format($cost,2,".","");
echo $amount2 ;
于 2013-10-18T09:14:49.330 回答
0

试试这个代码:

$stringA= 1000;
$length=strlen($stringA);
$temp1=substr($stringA,0,$length-2);
$temp2=substr($stringA,$length-2,$length);
echo $temp1.".".$temp2;     // Displays  10.00
于 2013-10-18T09:18:06.177 回答