将数字格式的计算结果转为汉字格式

2016-01-29 14:54 5 1 收藏

将数字格式的计算结果转为汉字格式,将数字格式的计算结果转为汉字格式

【 tulaoshi.com - PHP 】

  有没有想过将数字格式的计算结果转化为汉字格式的? 有人会问"干嘛要转, 数字形式不是蛮好嘛", 可是当这个数字很长的时候就不太容易读出来了吧, 就算是有千分位的分隔符也不易顺口说出, 因为这个符号是位英语行方便的, 不是适合我们的读法. 那就自己写一个函数来完成这项任务吧.

将下列代码加到你的网页里, 通过num2chi()函数的调用就可以实现上述功能了, 快来试一试吧. 为了各位能读懂这段代码, 在下特意加入详细注解, 还请老鸟们不要嫌罗唆, ^_^.

//----------------------FUNCTION BEGIN-----------------------------
//-------------------------------------------
//函数名: num2chi()
//叁  数: 一数字
//返回值: 一字符串
//功  能: 将难读的长串数字转为顺口读出的汉字
//作  者: chen.anson  
//站  点: HTTP://dreamer.oso.com.cn
//-------------------------------------------

function num2chi(result) {

var chiresult = "";            //定义返回值叁数chiresult为字符形式
result = result.toString();    //将result转为字符形式
result = result.toLowerCase();
resultlen = result.length;    //定义resultlen为result的长度
tempresult = result;        //定义中间变量tempresult

for (i=1;i<=resultlen;i++)    //将字符串tempresult中的全部数字替换为汉字
{
    tempresult = tempresult.replace("1","一");
    tempresult = tempresult.replace("2","二");
    tempresult = tempresult.replace("3","三");
    tempresult = tempresult.replace("4","四");
    tempresult = tempresult.replace("5","五");
    tempresult = tempresult.replace("6","六");
    tempresult = tempresult.replace("7","七");
    tempresult = tempresult.replace("8","八");
    tempresult = tempresult.replace("9","九");
    tempresult = tempresult.replace("0","零");
    tempresult = tempresult.replace(".","点");
    tempresult = tempresult.replace("e+","幂");
}

while(tempresult.indexOf("零零")!=-1)    //避免字符串tempresult中出现"零零", 但又不能改变字符串长度
{
    tempresult = tempresult.replace("零零","位零");
}

resultlen = tempresult.length;    //再次确认tempresult的长度, 因"e+"-"幂"会引起长度变化

for (i=1,j=1,k=1;i<=resultlen;i++)    //开始转换, i为位数确认叁数, j为"十百千"确认叁数, k为"万亿"确认叁数
{
    //防止尾数为零, 如八拾零, 二拾零万
    if (tempresult.charAt(resultlen-1)=="零"&&i==1)
        chiresult = "位";
    else if (tempresult.charAt(resultlen-i)=="零"&&j==1)
        chiresult = "位" + chiresult;
    //--------------------------------

    //避免把"幂"和"点"当做实际位数, 而且单位确认变量重新计数
    else if (tempresult.charAt(resultlen-i)=="幂")
    {
        j=1;k=1;chiresult = tempresult.charAt(resultlen-i) + chiresult;continue;
    }
    else if (tempresult.charAt(resultlen-i)=="点")
    {
  &n

来源:https://www.tulaoshi.com/n/20160129/1494689.html

延伸阅读
标签: 电脑入门
本文介绍在Exce2007中如何采用不同的方法完成数字格式和文本格式的转换。 数字格式转文本格式 数字格式转文本格式的操作大家比较熟悉:选择单元格,点鼠标右键,从菜单中选择设置单元格格式。 电脑教程 从弹出菜单中的数字选项卡中选择文本即可。 或者在数字前面添加一个半角的单引号 " 。 文本格式转为数字格式 针对上述两种...
标签: 办公软件
微软Word的最新版本Word2007的变化很多,但是其中最大的变化之一就是文档格式的变化,由doc变成了陌生的docx,虽然新的格式具有体积小等的优点,但是由于目前兼容性还比较差,所以平时最好还是不要用它,这样下面的两个设置就是必须的了。 更改默认保存格式:单击Word 2007左上角的Office按钮,在展开的菜单中单击Word选项按钮打开Word选...
标签: 电脑入门
通过应用不同的数字格式,可将数字显示为百分比、日期、货币等。例如,如果您在进行季度预算,则可以使用货币数字格式来显示货币值。操作如下: 1、选择要设置格式的单元格,在开始选项卡上的数字组中,单击数字旁边的对话框启动器(或者右单击并选择设置单元格格式),将弹出设置单元格格式对话框。 2、在设置单元格格式对话框中的类别列表中...
标签: 电脑入门
本文描述了如何将磁盘从FAT格式转换为NTFS格式。在确定使用何种文件系统前,您应当对它们各自的优势与局限性有所了解。 改变卷所使用的现有文件系统将是一项非常耗时的工作,因此,您应选择最适合自身长远需求的文件系统。如果决定使用一种不同的文件系统,那么,您必须首先对现有数据进行备份并使用新的文件系统重新对相应卷进行格式化。然而...
标签: excel
Excel2010中设置货币数字格式   货币数字格式仅适用于Excel2010单元格中的数据为货币数字的情况,设置为货币数字格式的单元格中将添加指定的货币符号。在Excel2010中设置货币数字格式的步骤如下所述: 第1步,打开Excel2010工作簿窗口,选中需要设置货币数字格式的单元格。然后右键单击选中的单元格,在打开的快捷菜单中选择设置...

经验教程

281

收藏

59
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部