山那边是海 发表于 2015-2-16 00:29:11

PHP网站制作之阿拉伯数字转中文大(小)写的函数

到现在,对排版还是不很熟练,经常会排不好。函数|中文   <?
//chinese_money.php
//Changing Arab Money Num to Chinese Money Num
/*======================

Functions List:

Chinese_Money_Max()
小数点前
此函数可以独自拿出用于将阿拉伯数字转为中文数字(巨细写可选,默许为大写)
仅限整数(正负皆可)

Chinese_Money_Min()
处置小数点后

Chinese_Money()

=======================*/


function Chinese_Money_Max($i,$s=1){
    $c_digit_min = array("零","十","百","千","万","亿","兆");
    $c_num_min = array("零","一","二","三","四","五","六","七","八","九","十");
   
    $c_digit_max = array("零","拾","佰","仟","万","亿","兆");
    $c_num_max = array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖","拾");
   
    if($s==1){
      $c_digit = $c_digit_max;
      $c_num = $c_num_max;
    }
    else{
      $c_digit = $c_digit_min;
      $c_num = $c_num_min;
    }
   
    if($i<0)
      return "负".Chinese_Money_Max(-$i);
    if ($i < 11)
      return $c_num[$i];
    if ($i < 20)
      return $c_num.$c_digit . $c_num[$i - 10];
    if ($i < 100) {
      if ($i % 10)
            return $c_num[$i / 10] . $c_digit . $c_num[$i % 10];
      else
            return $c_num[$i / 10] . $c_digit;
    }
    if ($i < 1000) {
      if ($i % 100 == 0)
            return $c_num[$i / 100] . $c_digit;
      else if ($i % 100 < 10)
            return $c_num[$i / 100] . $c_digit . $c_num . Chinese_Money_Max($i % 100);
      else if ($i % 100 < 10)
            return $c_num[$i / 100] . $c_digit . $c_num . Chinese_Money_Max($i % 100);
      else
            return $c_num[$i / 100] . $c_digit . Chinese_Money_Max($i % 100);
    }
    if ($i < 10000) {
      if ($i % 1000 == 0)
            return $c_num[$i / 1000] . $c_digit;
      else if ($i % 1000 < 100)
            return $c_num[$i / 1000] . $c_digit . $c_num . Chinese_Money_Max($i % 1000);
      else
            return $c_num[$i / 1000] . $c_digit . Chinese_Money_Max($i % 1000);
    }
    if ($i < 100000000) {
      if ($i % 10000 == 0)
            return Chinese_Money_Max($i / 10000) . $c_digit;
      else if ($i % 10000 < 1000)
            return Chinese_Money_Max($i / 10000) . $c_digit . $c_num . Chinese_Money_Max($i % 10000);
      else
            return Chinese_Money_Max($i / 10000) . $c_digit . Chinese_Money_Max($i % 10000);
    }
    if ($i < 1000000000000) {
      if ($i % 100000000 == 0)
            return Chinese_Money_Max($i / 100000000) . $c_digit;
      else if ($i % 100000000 < 1000000)
            return Chinese_Money_Max($i / 100000000) . $c_digit . $c_num . Chinese_Money_Max($i % 100000000);
      else
            return Chinese_Money_Max($i / 100000000) . $c_digit . Chinese_Money_Max($i % 100000000);
    }
    if ($i % 1000000000000 == 0)
      return Chinese_Money_Max($i / 1000000000000) . $c_digit;
    else if ($i % 1000000000000 < 100000000)
      return Chinese_Money_Max($i / 1000000000000) . $c_digit . $c_num . Chinese_Money_Max($i % 1000000000000);
    else
      return Chinese_Money_Max($i / 1000000000000) . $c_digit . Chinese_Money_Max($i % 1000000000000);
}

function Chinese_Money_Min($a){
    $c_num = array("零","一","二","三","四","五","六","七","八","九","十");
    if($a<10)
      return $c_num . "角" . $c_num[$a] . "分";
    else if($a%10 == 0)
      return $c_num[$a/10] . "角" . $c_num . "分";
    else
      return $c_num . "角" . $c_num[$a%10] ."分";
}



function Chinese_Money($i){
    $j=Floor($i);
    $x=($i-$j)*100;
    //return $x;
    return Chinese_Money_Max($j)."元".Chinese_Money_Min($x)."整";
}



//The Following Code is Testing The Functions:
/*
if($_submit=='Go')
    echo Chinese_Money($e_money);


echo "<form action='' method=post>";
echo "<input type=text name=e_money size=20>";
echo "<input type=submit name=_submit value='Go'>";

echo "</form>";
*/
?>
学会了PHP,那么学其他的语言,肯定速成,反过来也一样,如果你之前学过其他的语言,那么学PHP肯定快。

活着的死人 发表于 2015-2-16 04:52:18

当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,

仓酷云 发表于 2015-2-26 20:49:57

要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。

爱飞 发表于 2015-3-7 09:10:18

爱上php,他也会爱上你。

山那边是海 发表于 2015-3-11 06:24:37

曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ;

柔情似水 发表于 2015-3-17 22:10:32

个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。

飘飘悠悠 发表于 2015-3-21 00:04:10

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

深爱那片海 发表于 2015-3-25 14:31:49

如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,

蒙在股里 发表于 2015-4-1 02:08:15

环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。

不帅 发表于 2015-4-17 03:24:27

有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。

分手快乐 发表于 2015-4-22 11:10:53

学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql

变相怪杰 发表于 2015-4-25 08:50:29

基础有没有对学习php没有太大区别,关键是兴趣。

若相依 发表于 2015-4-25 11:09:59

首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。

小妖女 发表于 2015-4-26 04:10:05

最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。

精灵巫婆 发表于 2015-4-26 20:09:35

刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。

海妖 发表于 2015-4-29 19:37:04

如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,

灵魂腐蚀 发表于 2015-5-3 19:31:36

php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)

愤怒的大鸟 发表于 2015-5-4 07:30:53

兴趣是最好的老师,百度是最好的词典。

冷月葬花魂 发表于 2015-6-6 10:12:54

爱上php,他也会爱上你。

再现理想 发表于 2015-6-7 02:26:04

环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
页: [1]
查看完整版本: PHP网站制作之阿拉伯数字转中文大(小)写的函数