人民幣小寫轉大寫

2021-08-10 18:57:26 字數 1508 閱讀 2748

/**

* 人民幣小寫轉大寫

** @param string $number 數值

* @param string $int_unit 幣種單位,預設"元",有的需求可能為"圓"

* @param bool $is_round 是否對小數進行四捨五入

* @param bool $is_extra_zero 是否對整數部分以0結尾,小數存在的數字附加0,比如1960.30,

* 有的系統要求輸出"壹仟玖佰陸拾元零叄角",實際上"壹仟玖佰陸拾元叄角"也是對的

* @return string

*/function num2rmb($number = 0, $int_unit = '元', $is_round = true, $is_extra_zero = false)

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

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

// 定義

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

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

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

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

$res = '';

// 整數部分從右向左找

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

> 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]))

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

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

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

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

// 小數部分從左向右找

if(!empty($dec))

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

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

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

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

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

}else

return $res;

}

人民幣小寫轉大寫

package day00 public class moneyelse result result.replaceall 零角 零 result result.replaceall 零分 零 result result.replaceall 角零 角 if result.equals 零零 ret...

人民幣小寫轉大寫

c code 例如 new money 200 tostring 貳佰元 namespace skyiv.util catch system.console.writeline 大寫 newmoney m 該類過載的 tostring 方法返回的是大寫金額字串 class money 建構函式 pu...

人民幣小寫轉大寫

小寫金額轉成大寫。param input return public static string numtochinese string input catch exception e int len 0 if temp.indexof 1 len temp.length else len temp...