将数字格式的计算结果转为汉字格式_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
{
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
{
//防止尾数为零, 如八拾零, 二拾零万
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)=="点")
{
j=1;k=1;chiresult = tempresult.charAt(resultlen-i) + chiresult;continue;
}
//--------------------------------------
else
chiresult = tempresult.charAt(resultlen-i) + chiresult;
//添加数字单位
if (tempresult.charAt(resultlen-i-1)!="位"&&tempresult.charAt(resultlen-i-1)!="零"&&tempresult.charAt(resultlen-i-1)!="幂")
{
if (j==1&&i
if (j==4&&i
j++;k++;
}
while(chiresult.indexOf("位")!=-1) //避免字符串chiresult中出现"位"
{
chiresult = chiresult.replace("位","");
}
if (chiresult.substr(0,2)=="一拾") //避免出现"一拾二"等情况
chiresult = chiresult.substring(1,chiresult.length);
//幂和小数点後的数字应直接读出, 而没有单位
if (chiresult.search("幂")>=0&&chiresult.search("点")>=0)
{
rebegin = chiresult.substring(0,chiresult.indexOf("点"));
relast = chiresult.substring(chiresult.indexOf("幂"),chiresult.length);
remid = chiresult.substring(chiresult.indexOf("点"),chiresult.indexOf("幂"));
for (i=1;i
{
remid = remid.replace("拾","");
remid = remid.replace("百","");
remid = remid.replace("千","");
remid = remid.replace("万","");
remid = remid.replace("亿","");
}
chiresult = rebegin + remid + relast;
}
else if (chiresult.search("幂")=0)
{
rebegin = chiresult.substring(0,chiresult.indexOf("点"));
relast = chiresult.substring(chiresult.indexOf("点"),chiresult.length);
for (i=1;i
{
relast = relast.replace("拾","");
relast = relast.replace("百","");
relast = relast.replace("千","");
relast = relast.replace("万","");
relast = relast.replace("亿","");
}
chiresult = rebegin + relast;
}
if (chiresult.search("幂")>=0) //将"幂"替换为"乘以拾的", 这样可以直接读出
{
chiresult = chiresult.replace("幂","乘以拾的");
chiresult = chiresult + "次方";
}
return chiresult;
}
//----------------------FUNCTION END-------------------------------
将下面这两条语句放到script块中试运行一下看看结果对不对, 另外可以访问我的主页http://dreamer.oso.com.cn 在休闲广场里有一个彩票页面, 就是用这段代码实现的, 欢迎光临.
hi='4648000567542450084.16415846E+766600050';
document.write(hi+"
"+num2chi(hi));

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

通用矩陣乘法(GeneralMatrixMultiplication,GEMM)是許多應用程式和演算法中至關重要的一部分,也是評估電腦硬體效能的重要指標之一。透過深入研究和優化GEMM的實現,可以幫助我們更好地理解高效能運算以及軟硬體系統之間的關係。在電腦科學中,對GEMM進行有效的最佳化可以提高運算速度並節省資源,這對於提高電腦系統的整體效能至關重要。深入了解GEMM的工作原理和最佳化方法,有助於我們更好地利用現代計算硬體的潛力,並為各種複雜計算任務提供更有效率的解決方案。透過對GEMM性能的優

WORD是一個強大的文字處理器,我們可以利用word進行各種文字的編輯,在Excel表格當中,我們已經熟練了加減乘數的運算方法,那麼如果需要在Word表格裡,計算數值的加減乘數,該如何操作呢,難道只能用計算機計算嗎?答案當然是否定的,WORD也同樣可以完成。今天小編就來教大家如何在Word文件的表格當中,運用公式計算加減乘除等基本運算,一起來學習一下吧。那麼,今天就讓小編具體示範一下,WORD文件怎麼計算加減乘除?第一步:開啟一個WORD,點選工具列【插入】下的【表格】,在下拉式選單當中插入一

如何使用Python的count()函數計算清單中某個元素的數量,需要具體程式碼範例Python作為一種強大且易學的程式語言,提供了許多內建函數來處理不同的資料結構。其中之一就是count()函數,它可以用來計算清單中某個元素的數量。在本文中,我們將詳細介紹如何使用count()函數,並提供具體的程式碼範例。 count()函數是Python的內建函數,用來計算某

QQ信箱:QQ號@qq.com,英文QQ信箱:英文或數字@qq.com,foxmail信箱帳號:自行設定帳號@foxmail.com,手機信箱帳號:手機號碼@qq.com。教學適用型號:iPhone13系統:IOS15.3版本:QQ信箱6.3.3解析1QQ信箱有四種格式,常用的QQ信箱:QQ號@qq.com,英文QQ信箱:英文或數位@qq.com,foxmail信箱帳號:自己設定帳號@foxmail.com,手機信箱帳號:手機號碼@qq.com。補充:qq信箱是什麼1最早的QQ信箱還只是QQ使用者之間

在C#中,有一個Math類別庫,其中包含許多數學函數。其中包括計算冪次方的函數Math.Pow,它可以幫助我們計算指定數的冪。 Math.Pow函數的用法非常簡單,只需要指定底數和指數就可以了。其語法如下:Math.Pow(base,exponent);其中base表示底數,exponent表示指數。此函數傳回double類型的結果,即冪次方的計算結果。下面讓

PHP日期處理技巧:如何使用PHP計算日期之間的月份差?日期處理在Web開發中是一個非常常見的需求,特別是在需要和時間相關的業務邏輯中。在PHP中,計算日期之間的月份差可以透過一些方法實現。本文將介紹如何使用PHP來計算兩個日期之間的月份差,並提供具體的程式碼範例。方法一:使用DateTime類別PHP的DateTime類別提供了豐富的日期處理方法,包括計算日期之

在使用記事本工具保存一些文字的時候,有時候需要拖入到word之類的軟體中進行使用,但是很多的用戶們不知道怎麼去更改記事本的格式,那就來看看詳細的教程吧~win10電腦記事本怎麼改格式:1.開啟記事本後,點選上方的「檔案-另存為」。 2.然後將檔案名稱加上你想要的格式,例如小編加的是「.rtf」。儲存類型選擇“所有檔案”,然後儲存。 3、然後我們的文件格式就變成rtf格式的文件了。 4.我們雙擊開啟改文件,所有的內容全部都在。

PHP日期操作:教你如何使用PHP計算日期之間的月份差在開發專案中,經常會涉及到計算日期之間的差值,其中包括計算兩個日期之間的月份差。 PHP作為一種強大的後端開發語言,提供了豐富的日期處理函數,使得日期計算變得非常方便。本文將向你介紹如何使用PHP計算日期之間的月份差,並包含具體的程式碼範例。首先,讓我們來看看如何計算日期之間的月份差。我們將使用PHP中的Dat
