首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  PHP安装/语法/函数 » [求助]如何设计一个可以将数字转换成中文大写输出的函数?  


  作者:寻梦小子
  注册时间:2005-05-20
  主题/回复:12/14
  积分:475
  等级:★★☆(五级)
  称号:略有小成

用户联系方式已设置为保密

 

 发表:2005-10-09 05:47:16 阅读 2927 次 回复 3 次 得分1  |   字号 字色
[求助]如何设计一个可以将数字转换成中文大写输出的函数?
   能不能设计一个PHP函数,可以将100以内的数字转换成中文大写的形式输出?高手可以指点一下吗?谢谢了!
 
 1#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 1#楼 发表于2005-10-09 16:39:04  评分:1 

这个不难,很容易,随手可以写出一个:
<?php
function daxie($number){
 $number=substr($number,0,2);
 $arr=array("零","一","二","三","四","五","六","七","八","九");
 if(strlen($number)==1){
  $result=$arr[$number];
  }else{
   if($number==10){
    $result="十";
   }else{
    if($number<20){
    $result="十";
    }else{
    $result=$arr[substr($number,0,1)]."十";
    }
    if(substr($number,1,1)!="0"){
    $result.=$arr[substr($number,1,1)]; 
    }
   }
 }
 return $result."<br>";
}

echo daxie(0);
echo daxie(10);
echo daxie(16);
echo daxie(30);
echo daxie(88);
echo daxie(121);
?>

运行结果:



十六
三十
八十八
十二

程序很简单,你自己看看就懂了。
 2#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 2#楼 发表于2005-10-09 16:42:48  评分: 

简单介绍一下:程序中用了多个if判断,只是为了结果更加符合日常习惯。
比如,10,我们平时称为“十”而不是“一零”或“一十”。
15,我们平时称呼为“十五”而不是“一十五”

因此程序中多加了几个if语句来把这些特殊情况处理掉。
程序中不管输入的数字多大,都只取前两位。这就保证了只能处理0-99之间的数字。
 3#楼  
 
  回复人:寻梦小子
  注册时间:2005-05-20
  主题/回复:12/14
  积分:475
  等级:★★☆(五级)
  称号:略有小成

用户联系方式已设置为保密
 3#楼 发表于2005-10-11 07:02:43  评分:× 

谢谢站长了。我有点思路了,我试着改一下。
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.006sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版