求一个浮点数的转换方法 $price = number_format("100000000.00",2); echo $price;$price输出 =》100,000,000.00,我想把$price直接转换为“亿”或“百万”为单位的字符,求方法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <?phpheader('Content-Type: text/html;charset=utf-8');class ChineseNumber{var $basical=array(0=>"零","一","二","三","四","五","六","七","八","九");//var $basical=array(0=>"零","壹","贰","叁","肆","伍","陆","柒","捌","玖");var $advanced=array(1=>"十","百","千");//var $advanced=array(1=>"拾","佰","仟");var $top=array(1=>"万","亿");var $level; // 以4位为一级// 先实现万一下的数的转换function ParseNumber($number){if ($number>999999999999) // 只能处理到千亿。return "数字太大,无法处理。抱歉!";if ($number==0)return "零";for($this->level=0;$number>0.0001;$this->level++,$number=floor($number / 10000)){// 对于中文来说,应该是4位为一组。// 四个变量分别对应 个、十、百、千 位。$n1=substr($number,-1,1);if($number>9)$n2=substr($number,-2,1);else$n2=0;if($number>99)$n3=substr($number,-3,1);else$n3=0;if($number>999)$n4=substr($number,-4,1);else$n4=0;if($n4)$parsed[$this->level].=$this->basical[$n4].$this->advanced[3];elseif(($number/10000)>=1) // 千位为0,数值大于9999的情况$parsed[$this->level].="零";if($n3)$parsed[$this->level].=$this->basical[$n3].$this->advanced[2];elseif(!ereg("零$",$parsed[$this->level]) && ($number / 1000)>=1) // 不出现连续两个“零”的情况$parsed[$this->level].="零";if($n2)$parsed[$this->level].=$this->basical[$n2].$this->advanced[1];elseif(!ereg("零$",$parsed[$this->level]) && ($number / 100)>=1) // 不出现连续两个“零”的情况$parsed[$this->level].="零";if($n1)$parsed[$this->level].=$this->basical[$n1];}for($this->level-=1;$this->level>=0;$this->level--){$result.=$parsed[$this->level].$this->top[$this->level];}if(ereg("零$",$result))$result=substr($result,0,strlen($result)-2);return $result;}};$c=new ChineseNumber();echo $c->ParseNumber(254);?> php post遍历问题 正则怎么写呢 php转向代码 php 中无法增加mysql数据? 表单值联动的问题,请高手指点. 怎么用php+mysql 做繁体BIG5的网站 php.ini文件中的register_globals设置的为off,我该怎么获得表单变量 php中有str_replace函数吗?如果有,怎么用?谢谢 如何取得一个文件夹里的目录列表? 大家有用过[ Soulogic.com 灵魂逻辑 - 留言本 ]吗?去错啦,帮帮我! 用正则表达式替换行符问题 有个页面js小跳转+覆盖文件问题
header('Content-Type: text/html;charset=utf-8');
class ChineseNumber
{
var $basical=array(0=>"零","一","二","三","四","五","六","七","八","九");
//var $basical=array(0=>"零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
var $advanced=array(1=>"十","百","千");
//var $advanced=array(1=>"拾","佰","仟");
var $top=array(1=>"万","亿");var $level; // 以4位为一级// 先实现万一下的数的转换
function ParseNumber($number)
{
if ($number>999999999999) // 只能处理到千亿。
return "数字太大,无法处理。抱歉!";
if ($number==0)
return "零";for($this->level=0;$number>0.0001;$this->level++,$number=floor($number / 10000))
{
// 对于中文来说,应该是4位为一组。
// 四个变量分别对应 个、十、百、千 位。
$n1=substr($number,-1,1);
if($number>9)
$n2=substr($number,-2,1);
else
$n2=0;
if($number>99)
$n3=substr($number,-3,1);
else
$n3=0;
if($number>999)
$n4=substr($number,-4,1);
else
$n4=0;if($n4)
$parsed[$this->level].=$this->basical[$n4].$this->advanced[3];
else
if(($number/10000)>=1) // 千位为0,数值大于9999的情况
$parsed[$this->level].="零";
if($n3)
$parsed[$this->level].=$this->basical[$n3].$this->advanced[2];
else
if(!ereg("零$",$parsed[$this->level]) && ($number / 1000)>=1) // 不出现连续两个“零”的情况
$parsed[$this->level].="零";
if($n2)
$parsed[$this->level].=$this->basical[$n2].$this->advanced[1];
else
if(!ereg("零$",$parsed[$this->level]) && ($number / 100)>=1) // 不出现连续两个“零”的情况
$parsed[$this->level].="零";
if($n1)
$parsed[$this->level].=$this->basical[$n1];
}
for($this->level-=1;$this->level>=0;$this->level--)
{
$result.=$parsed[$this->level].$this->top[$this->level];
}if(ereg("零$",$result))
$result=substr($result,0,strlen($result)-2);return $result;}
};$c=new ChineseNumber();
echo $c->ParseNumber(254);?>