2012-07-25 121 views
5

在我的数据库中,我有价值观像格式化价格为逗号分隔

256.23,200.33,89.33,133.45,

我有一千乘以这些值,然后格式化结果作为价格(逗号隔开)

 
256.23 x 1000 = 256230   I want to show this as   256,230 

200.33 x 1000 = 200330   I want this as     200,330 

89.33 x 1000 = 89330    I want this as     89,330 

目前我使用式

echo "Price is : $".$price*1000; 

但是,如何格式化,我不知道。

+0

你为什么乘以1000?你为什么不保存它呢? – Sherlock 2012-07-25 12:41:40

+0

嗯,合理的问题.... 但实际上这是关于房价和NAR数据。并乘以一千NAR值来获得实际住房价格... – Leo 2012-07-25 13:00:15

回答

18

您正在寻找number_format功能。

$price=123456; 
echo number_format($price); 
// output: 123,456 

该函数接受一个,两个,或四个参数(而不是三个):

如果只有一个指定参数,数目将无小数被格式化的,但用逗号(“”)每千人之间。

如果两个给定参数,数目将被格式化以小数小数与前面各组的几千之间的点(“‘),和一个逗号(’,”)。

如果给出所有四个参数,则数字将被格式化为十进制小数,dec_point代替小数点前的小数点(“。”),每千组之间代替逗号(“,”)。

2

检查number_format,这里有一个例子

echo number_format(8333*1000, 3, ',', '.'); 
+0

呀真的是SOOO .... :) thanku – Leo 2012-07-25 13:01:09

+0

回声number_format(8333 * 1000,2, ' ''。'); 很多公司使用这种格式$ 4,500.00 – 2017-08-27 12:11:43

3
<?php 

$number = 1234.56; 

// english notation (default) 
$english_format_number = number_format($number); 
// 1,235 

// French notation 
$nombre_format_francais = number_format($number, 2, ',', ' '); 
// 1 234,56 

$number = 1234.5678; 

// english notation without thousands separator 
$english_format_number = number_format($number, 2, '.', ''); 
// 1234.57 

?> 
+0

很好的解释..... up up – Leo 2012-07-25 14:45:26

0

$数= 1234.56;

的setlocale(LC_MONETARY, “EN_US”);

回波money_format( “价格为%I”,$号);

//输出将是 “价格为1,234.56美元”