php 把數(shù)字轉(zhuǎn)換成漢字的代碼
直接上實(shí)例,寫到 千億上了。
/**
* @author ja頌
* 把數(shù)字1-1億換成漢字表述,如:123->一百二十三
* @param [num] $num [數(shù)字]
* @return [string] [string]
*/
function numToWord($num)
{
$chiNum = array('零', '一', '二', '三', '四', '五', '六', '七', '八', '九');
$chiUni = array('','十', '百', '千', '萬(wàn)', '億', '十', '百', '千');
$chiStr = '';
$num_str = (string)$num;
$count = strlen($num_str);
$last_flag = true; //上一個(gè) 是否為0
$zero_flag = true; //是否第一個(gè)
$temp_num = null; //臨時(shí)數(shù)字
$chiStr = '';//拼接結(jié)果
if ($count == 2) {//兩位數(shù)
$temp_num = $num_str[0];
$chiStr = $temp_num == 1 ? $chiUni[1] : $chiNum[$temp_num].$chiUni[1];
$temp_num = $num_str[1];
$chiStr .= $temp_num == 0 ? '' : $chiNum[$temp_num];
}else if($count > 2){
$index = 0;
for ($i=$count-1; $i >= 0 ; $i--) {
$temp_num = $num_str[$i];
if ($temp_num == 0) {
if (!$zero_flag && !$last_flag ) {
$chiStr = $chiNum[$temp_num]. $chiStr;
$last_flag = true;
}
}else{
$chiStr = $chiNum[$temp_num].$chiUni[$index%9] .$chiStr;
$zero_flag = false;
$last_flag = false;
}
$index ++;
}
}else{
$chiStr = $chiNum[$num_str[0]];
}
return $chiStr;
}
$num = 150;
echo numToWord($num);
方法二:
<?php
/**
* 數(shù)字轉(zhuǎn)換為中文
* @param string|integer|float $num 目標(biāo)數(shù)字
* @param integer $mode 模式[true:金額(默認(rèn)),false:普通數(shù)字表示]
* @param boolean $sim 使用小寫(默認(rèn))
* @return string
*/
function number2chinese($num,$mode = true,$sim = true){
if(!is_numeric($num)) return '含有非數(shù)字非小數(shù)點(diǎn)字符!';
$char = $sim ? array('零','一','二','三','四','五','六','七','八','九')
: array('零','壹','貳','叁','肆','伍','陸','柒','捌','玖');
$unit = $sim ? array('','十','百','千','','萬(wàn)','億','兆')
: array('','拾','佰','仟','','萬(wàn)','億','兆');
$retval = $mode ? '元':'點(diǎn)';
//小數(shù)部分
if(strpos($num, '.')){
list($num,$dec) = explode('.', $num);
$dec = strval(round($dec,2));
if($mode){
$retval .= "{$char[$dec['0']]}角{$char[$dec['1']]}分";
}else{
for($i = 0,$c = strlen($dec);$i < $c;$i++) {
$retval .= $char[$dec[$i]];
}
}
}
//整數(shù)部分
$str = $mode ? strrev(intval($num)) : strrev($num);
for($i = 0,$c = strlen($str);$i < $c;$i++) {
$out[$i] = $char[$str[$i]];
if($mode){
$out[$i] .= $str[$i] != '0'? $unit[$i%4] : '';
if($i>1 and $str[$i]+$str[$i-1] == 0){
$out[$i] = '';
}
if($i%4 == 0){
$out[$i] .= $unit[4+floor($i/4)];
}
}
}
$retval = join('',array_reverse($out)) . $retval;
return $retval;
}
//實(shí)例調(diào)用=====================================================
$num = '0123648867.789';
echo $num,'<br>';
//普通數(shù)字的漢字表示
echo '普通:',number2chinese($num,false),'';
echo '<br>';
//金額漢字表示
echo '金額(簡(jiǎn)體):',number2chinese($num,true),'';
echo '<br>';
echo '金額(繁體):',number2chinese($num,true,false);
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
- PHP實(shí)現(xiàn)十進(jìn)制數(shù)字與二十六進(jìn)制字母串相互轉(zhuǎn)換操作示例
- php使用json_decode后數(shù)字對(duì)象轉(zhuǎn)換成了科學(xué)計(jì)數(shù)法的解決方法
- php實(shí)現(xiàn)阿拉伯?dāng)?shù)字和羅馬數(shù)字相互轉(zhuǎn)換的方法
- php短網(wǎng)址和數(shù)字之間相互轉(zhuǎn)換的方法
- PHP實(shí)現(xiàn)將科學(xué)計(jì)數(shù)法轉(zhuǎn)換為原始數(shù)字字符串的方法
- php中base_convert()進(jìn)制數(shù)字轉(zhuǎn)換函數(shù)實(shí)例
- PHP中IP地址與整型數(shù)字互相轉(zhuǎn)換詳解
- php導(dǎo)出csv格式數(shù)據(jù)并將數(shù)字轉(zhuǎn)換成文本的思路以及代碼分享
- PHP 金額數(shù)字轉(zhuǎn)換成英文
- PHP數(shù)字金額轉(zhuǎn)換成中文大寫顯示
相關(guān)文章
PHP實(shí)現(xiàn)廣度優(yōu)先搜索算法(BFS,Broad First Search)詳解
這篇文章主要介紹了PHP實(shí)現(xiàn)廣度優(yōu)先搜索算法(BFS,Broad First Search),簡(jiǎn)單描述了廣度優(yōu)先搜索算法的原理并結(jié)合具體實(shí)例分析了php實(shí)現(xiàn)廣度優(yōu)先搜索算法的步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-09-09
PHP實(shí)現(xiàn)的隨機(jī)IP函數(shù)【國(guó)內(nèi)IP段】
這篇文章主要介紹了PHP實(shí)現(xiàn)的隨機(jī)IP函數(shù),可實(shí)現(xiàn)輸出國(guó)內(nèi)IP段的功能,涉及php字符串與數(shù)組的計(jì)算操作相關(guān)技巧,需要的朋友可以參考下2016-07-07
PHP基于Closure類創(chuàng)建匿名函數(shù)的方法詳解
這篇文章主要介紹了PHP基于Closure類創(chuàng)建匿名函數(shù)的方法,結(jié)合實(shí)例形式詳細(xì)分析了Closure 類的功能、常用函數(shù)使用技巧及相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-08-08
WampServer搭建php環(huán)境時(shí)遇到的問題匯總
這篇文章主要介紹了WampServer搭建php環(huán)境時(shí)遇到的常見問題的解決辦法匯總,以上所述就是本文的全部?jī)?nèi)容了。2015-07-07
phpadmin如何導(dǎo)入導(dǎo)出大數(shù)據(jù)文件及php.ini參數(shù)修改
新版本的phpadmin導(dǎo)入限定是8M,老版本的可能2M;如果遇到幾十兆的該怎么辦呢?接下來(lái)本文將介紹詳細(xì)的修改方法,感興趣的你可不要錯(cuò)過了哈,或許本文提供的知識(shí)點(diǎn)對(duì)你有所幫助2013-02-02
CentOS系統(tǒng)中PHP安裝擴(kuò)展的方式匯總
本文給大家匯總介紹了CentOS系統(tǒng)中PHP安裝拓展的方式,主要有 包管理式 的 yum 安裝、pecl 安裝,以及 源碼編譯安裝??偨Y(jié)的非常全面,推薦給大家。2017-04-04
PHP獲取ip對(duì)應(yīng)地區(qū)和使用網(wǎng)絡(luò)類型的方法
這篇文章主要介紹了PHP獲取ip對(duì)應(yīng)地區(qū)和使用網(wǎng)絡(luò)類型的方法,實(shí)例分析了php通過調(diào)用ip138數(shù)據(jù)庫(kù)獲取IP及網(wǎng)絡(luò)類型的技巧,需要的朋友可以參考下2015-03-03

