function cny($ns) { static $cnums = array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"), $cnyunits = array("圆", "角", "分"), $grees = array("拾", "佰", "仟", "万", "拾", "佰", "仟", "亿"); list($ns1, $ns2) = explode(".", $ns, 2); $ns2 = array_filter(array($ns2[1], $ns2[0])); $ret = array_merge($ns2, array(implode("", _cny_map_unit(str_split($ns1), $grees)), "")); $ret = implode("", array_reverse(_cny_map_unit($ret, $cnyunits))); return str_replace(array_keys($cnums), $cnums, $ret); }
/** * * 人民币转大写 * @param unknown_type $ns */ function cny($ns) { if ($ns <= 0) { return ''; } $cnums = array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"); $cnyunits = array("圆", "角", "分"); $grees = array("拾", "佰", "仟", "万", "拾", "佰", "仟", "亿"); $result = explode(".", $ns, 2); $ns1 = $result[0]; if (isset($result[1])) { $ns2 = $result[1]; $ns2 = isset($ns2[1]) ? array($ns2[1], $ns2[0]) : array($ns2[0]); $ret = array_merge($ns2, array(implode("", _cny_map_unit(str_split($ns1), $grees)), "")); } else { $ret = array(implode("", _cny_map_unit(str_split($ns1), $grees)), ""); } $ret = implode("", array_reverse(_cny_map_unit($ret, $cnyunits))); return str_replace(array_keys($cnums), $cnums, $ret); }