2011-06-10 74 views
3

我有这个字符串:PHP数字格式

000000000000100 

,需要将其转换为:

1,00 

所以,规则是:

  1. 除以100的数量和用逗号作为小数点分隔符
  2. 去掉前导零点
  3. 保持两位小数
+0

你能澄清你的问题?小数分隔符前是否只需要一个数字?如果存在,你是否需要超过2位小数?例如。 '000000000001200'应该变成'1,200','1,20'还是'12,00'? – Lekensteyn 2011-06-10 15:40:54

+0

我只需要两个逗号后的数字!000000000001200 - > 12,00 – Ste 2011-06-10 15:44:24

+2

我们需要知道规则应该用于转换。一个例子是不够的。看起来像这样:(a)除以100; (b)删除前导零; (c)使用逗号(',')作为小数点。我对吗? – 2011-06-10 15:46:19

回答

15

PHP Manual page on number_format

串number_format(浮点$号码,整数$小数= 0,字符串$ dec_point =,字符串$ thousands_sep = '' '')

如果你想要一个像123456数字被格式化为1234,45,使用方法:

echo number_format($number/100, 2, ",", ""); 

如果你需要一个点作为千位分隔符(1.234,56):

echo number_format($number/100, 2, ",", "."); 

的字符串转换为数字时的零点自动PHP删除。

6
string number_format (float $number , 
         int $decimals = 0 , 
         string $dec_point = '.' , 
         string $thousands_sep = ',') 

手册:http://php.net/manual/en/function.number-format.php

// divide by 100 to shift ones place. 
echo number_format((int)'000000000000100'/100,2,',',''); 
+0

犯错,**分**是我的意思。 – 2011-06-10 15:41:46