求一个浮点数的转换方法 $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发邮件最好用什么办法呢 求助:同一端口收发HTTP(pfsockopen)使用。谢谢 高手帮忙解读下这个函数的意思。。。function extract() 网站后台程序部分源码有需要请联系 请问如何判断POST上来的数据是什么字符集? 配置umeditor出错,能显示编辑器,提交之后就这样了。 php与mysql的连接问题 关于用户登陆验证简单问题 我想往服务器中传文件。请问,需要组件吗? 用正则表达式替换行符问题 有个页面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);?>