|
|
@ -13,8 +13,12 @@ class PinyinNumber |
|
|
|
|
|
|
|
|
protected static $zh_pinyin = [0 => '零', 1 => '一', 2 => '二', 3 => '三', 4 => '四', 5 => '五', 6 => '六', 7 => '七', 8 => '八', 9 => '九']; |
|
|
protected static $zh_pinyin = [0 => '零', 1 => '一', 2 => '二', 3 => '三', 4 => '四', 5 => '五', 6 => '六', 7 => '七', 8 => '八', 9 => '九']; |
|
|
|
|
|
|
|
|
|
|
|
protected static $num_pinyin = [0 => '0', 1 => '1', 2 => '2', 3 => '3', 4 => '4', 5 => '5', 6 => '6', 7 => '7', 8 => '8', 9 => '9']; |
|
|
|
|
|
|
|
|
protected static $zh_unit = ['', '十', '百', '千', '万', '十万', '百万', '千万', '亿']; |
|
|
protected static $zh_unit = ['', '十', '百', '千', '万', '十万', '百万', '千万', '亿']; |
|
|
|
|
|
|
|
|
|
|
|
protected static $num_unit = ['', '0', '00', '千', '万', '0万', '00万', '000万', '亿']; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 获取数字的拼音 |
|
|
* 获取数字的拼音 |
|
|
* @param $number |
|
|
* @param $number |
|
|
@ -71,18 +75,18 @@ class PinyinNumber |
|
|
if ($digit != 0) { |
|
|
if ($digit != 0) { |
|
|
// 处理万以上的位数 |
|
|
// 处理万以上的位数 |
|
|
if ($length - $i > 4) { |
|
|
if ($length - $i > 4) { |
|
|
$chineseStr .= self::$zh_pinyin[$digit] . self::$zh_unit[$length - $i - 1]; |
|
|
$chineseStr .= self::$num_pinyin[$digit] . self::$num_unit[$length - $i - 1]; |
|
|
// 处理万位之间的零 |
|
|
// 处理万位之间的零 |
|
|
if ($digit == 0 && $number[$i + 1] != 0) { |
|
|
if ($digit == 0 && $number[$i + 1] != 0) { |
|
|
$chineseStr .= '零'; |
|
|
$chineseStr .= '零'; |
|
|
} |
|
|
} |
|
|
} else { |
|
|
} else { |
|
|
$chineseStr .= self::$zh_pinyin[$digit] . self::$zh_unit[$length - $i - 1]; |
|
|
$chineseStr .= self::$num_pinyin[$digit] . self::$num_unit[$length - $i - 1]; |
|
|
} |
|
|
} |
|
|
} else { |
|
|
} else { |
|
|
// 处理连续的0 |
|
|
// 处理连续的0 |
|
|
if ($i == 0 || $number[$i] != 0) { |
|
|
if ($i == 0 || $number[$i] != 0) { |
|
|
$chineseStr .= self::$zh_pinyin[$digit]; |
|
|
$chineseStr .= self::$num_pinyin[$digit]; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|