乙個把人民幣小寫轉換為大寫中文的方法

2022-05-12 22:00:08 字數 1949 閱讀 1471

function cny($number = 0, $int_unit = '元', $is_round = true, $is_extra_zero = false)

// 將數字切分成兩段

$parts = explode('.', $number, 2);

$int = isset($parts[0]) ? strval($parts[0]) : '0';

$dec = isset($parts[1]) ? strval($parts[1]) : '';

// 如果小數點後多於2位,不四捨五入就直接截,否則就處理

$dec_len = strlen($dec);

if (isset($parts[1]) && $dec_len > 2)

$dec = $is_round

? substr(strrchr(strval(round(floatval("0.".$dec), 2)), '.'), 1)

: substr($parts[1], 0, 2);

// 當number為0.001時,小數點後的金額為0元

if(empty($int) && empty($dec))

return '零';

// 定義

$chs = array('0','壹','貳','叄','肆','伍','陸','柒','捌','玖');

$uni = array('','拾','佰','仟');

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

$exp = array('', '萬');

$res = '';

// 整數部分從右向左找

for($i = strlen($int) - 1, $k = 0; $i >= 0; $k++)

$str = '';

// 按照中文讀寫習慣,每4個字為一段進行轉化,i一直在減

for($j = 0; $j < 4 && $i >= 0; $j++, $i--)

$u = $int > 0 ? $uni[$j] : ''; // 非0的數字後面新增單位

$str = $chs[$int] . $u . $str;

//echo $str."|".($k - 2)."

";$str = rtrim($str, '0');// 去掉末尾的0

$str = preg_replace("/0+/", "零", $str); // 替換多個連續的0

if(!isset($exp[$k]))

$exp[$k] = $exp[$k - 2] . '億'; // 構建單位

$u2 = $str != '' ? $exp[$k] : '';

$res = $str . $u2 . $res;

// 如果小數部分處理完之後是00,需要處理下

$dec = rtrim($dec, '0');

// 小數部分從左向右找

if(!empty($dec))

$res .= $int_unit;

// 是否要在整數部分以0結尾的數字後附加0,有的系統有這要求

if ($is_extra_zero)

if (substr($int, -1) === '0')

$res.= '零';

for($i = 0, $cnt = strlen($dec); $i < $cnt; $i++)

$u = $dec > 0 ? $dec_uni[$i] : ''; // 非0的數字後面新增單位

$res .= $chs[$dec] . $u;

$res = rtrim($res, '0');// 去掉末尾的0

$res = preg_replace("/0+/", "零", $res); // 替換多個連續的0

else

$res .= $int_unit . '整';

if ($number=="0.00")

return $res;

人民幣小寫轉換為大寫

本程式的作用是將人民幣的小寫形式轉換為大寫,例如 呼叫upper 18.5 將會返回字串 壹拾捌圓伍角 package com.zzb.test0 import junit.framework.assert import org.junit.test 測試人民幣小寫轉大寫 author zhengz...

ASP 人民幣小寫轉換為大寫

人民幣小寫轉換為大寫 人民幣大小寫轉換格式 dim str 9 str 0 零 str 1 壹 str 2 貳 str 3 叄 str 4 肆 str 5 伍 str 6 陸 str 7 柒 str 8 捌 str 9 玖 aa request.form source hh formatnumber...

人民幣小寫金額轉換為大寫函式

程式 function money thenumber dim money,i,string1,string2,length,checkp 定義變數 dim one onestr 定義陣列 string1 零壹貳叄肆伍陸柒捌玖 string2 萬仟佰拾億仟佰拾萬仟佰拾元角分釐毫 checkp ins...