国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > 建站經(jīng)驗 > 正文

PHP實現(xiàn)金額數(shù)字轉(zhuǎn)換成大寫函數(shù)

2024-04-25 20:35:45
字體:
供稿:網(wǎng)友

 

最近做一個財務(wù)的一個功能,其中有一個地方需要將阿拉伯?dāng)?shù)字形式的金額顯示成大寫(老寫)的漢字形式,于是有了下面的代碼。。。

 

function num_to_upper($num)

{

$d = array('零','壹','貳','叁','肆','伍','陸','柒','捌','玖');
$e = array('元','拾','佰','仟','萬','拾萬','佰萬','仟萬','億','拾億','佰億','仟億','萬億');

$p = array('分','角');

$zheng='整'; //追加"整"字

$final = array(); //結(jié)果

$inwan=0; //是否有萬

$inyi=0; //是否有億

$len_pointdigit=0; //小數(shù)點后長度

$y=0;

if($c = strpos($num, '.')) { //有小數(shù)點,$c為小數(shù)點前有幾位數(shù)

$len_pointdigit = strlen($num)-strpos($num, '.')-1; // 判斷小數(shù)點后有幾位數(shù)

if($c>13) { //簡單的錯誤處理

echo "數(shù)額太大,已經(jīng)超出萬億.";

die();

} elseif($len_pointdigit>2) { //$len_pointdigit小數(shù)點后有幾位

echo "小數(shù)點后只支持2位.";

die();

}

} else { //無小數(shù)點

$c = strlen($num);

$zheng = '整';

}

for($i=0;$i<$c;$i++) { //處理整數(shù)部分

$bit_num = substr($num, $i, 1); //逐字讀取 左->右
if($bit_num!=0 || substr($num, $i+1, 1)!=0) //當(dāng)前是零 下一位還是零的話 就不顯示

@$low2chinses = $low2chinses.$d[$bit_num];
if($bit_num || $i==$c-1)

@$low2chinses = $low2chinses.$e[$c-$i-1];

}

for($j=$len_pointdigit; $j>=1; $j--) { //處理小數(shù)部分

$point_num = substr($num, strlen($num)-$j, 1); //逐字讀取 左->右

if($point_num != 0)

@$low2chinses = $low2chinses.$d[$point_num].$p[$j-1];

// if(substr($num, strlen($num)-2, 1)==0 && substr($num, strlen($num)-1, 1)==0) //小數(shù)點后兩位都是0

}

$chinses = str_split($low2chinses,2); //字符串轉(zhuǎn)換成數(shù)組

//print_r($chinses);

for($x=sizeof($chinses)-1;$x>=0;$x--) { //過濾無效的信息

if($inwan==0&&$chinses[$x]==$e[4]) { //過濾重復(fù)的"萬"

$final[$y++] = $chinses[$x];

$inwan=1;

}

if($inyi==0&&$chinses[$x]==$e[8]) { //過濾重復(fù)的"億"

$final[$y++] = $chinses[$x];

$inyi=1;

$inwan=0;

}

if($chinses[$x]!=$e[4]&&$chinses[$x]!=$e[8]) //進(jìn)行整理,將最后的值賦予$final數(shù)組

$final[$y++] = $chinses[$x];

}

$newstring=(array_reverse($final)); //$final為倒數(shù)組,$newstring為正常可以使用的數(shù)組

$nstring=join($newstring); //數(shù)組變成字符串

if(substr($num,-2,1)==0 && substr($num,-1)<>0) { //判斷原金額角位為0 ? 分位不為0 ?

$nstring=substr($nstring,0,(strlen($nstring)-4))."零".substr($nstring,-4,4); //這樣加一個零字

}

$fen="分";

$fj=substr_count($nstring, $fen); //如果沒有查到分這個字

return $nstring=($fj==0)?$nstring.$zheng:$nstring; //就將"整"加到后面

}

 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 万年县| 治多县| 城步| 隆安县| 冀州市| 上饶市| 博白县| 闸北区| 扎囊县| 武隆县| 泾源县| 大田县| 临夏市| 绍兴市| 原阳县| 隆回县| 宣恩县| 沂水县| 沙洋县| 南昌市| 桓台县| 芜湖市| 密云县| 罗江县| 黑河市| 仁布县| 敖汉旗| 怀集县| 陕西省| 德格县| 高陵县| 桐梓县| 华阴市| 遂溪县| 石楼县| 当雄县| 新野县| 道真| 云浮市| 新竹县| 阿拉善盟|