自已写两个函数就可以了: function getChineseDigital($num)
{
$sString = " 十百千万十百千万亿十百千万";
$sNumber = "零一二三四五六七八九";
$len = strlen($num);
$str = '';
for($i = 0; $i < $len; $i++)
{
$t = substr($num, $len - $i - 1, 1);
$str = substr($sNumber, $t, 2) . substr($sString, $i, 2) . $str;
}
return trim($str);
}
function ChineseDigitalToNum($str)
{
$str = trim($str);
$v_arr = array('億', '萬', '仟', '佰', '拾');
$d_arr = array(
'零' => 0,
'壹' => 1,
'貳' => 2,
'參' => 3,
'肆' => 4,
'伍' => 5,
'陸' => 6,
'柒' => 7,
'捌' => 8,
'玖' => 9,
);
$sum = 0;
$tmp = '';
$val_arr = array(
'億' => 100000000,
'萬' => 10000,
'仟' => 1000,
'佰' => 100,
'拾' => 10,
);
for($i = 0, $cnt = mb_strlen($str, 'utf-8'); $i < $cnt; $i += 1)
{
$t = mb_substr($str, $i, 1, 'utf-8');
if($t == '元') continue;
if(in_array($t, $v_arr))
{
if($val_arr[$t] >= 10000)
{
$tmp = (double)$tmp;
$m = $sum - $big;
$t = ($tmp + $sum - $big) * $val_arr[$t];
$big = $t;
$sum += $t;
$sum = $sum - $m;
}
else
{
$tmp = (double)$tmp;
$sum += $tmp * $val_arr[$t];
}
$tmp = '';
}
else
{
$tmp .= $d_arr[$t];
}
}
if(!$sum) $sum = $tmp; return $sum;
}
{
$sString = " 十百千万十百千万亿十百千万";
$sNumber = "零一二三四五六七八九";
$len = strlen($num);
$str = '';
for($i = 0; $i < $len; $i++)
{
$t = substr($num, $len - $i - 1, 1);
$str = substr($sNumber, $t, 2) . substr($sString, $i, 2) . $str;
}
return trim($str);
}
function ChineseDigitalToNum($str)
{
$str = trim($str);
$v_arr = array('億', '萬', '仟', '佰', '拾');
$d_arr = array(
'零' => 0,
'壹' => 1,
'貳' => 2,
'參' => 3,
'肆' => 4,
'伍' => 5,
'陸' => 6,
'柒' => 7,
'捌' => 8,
'玖' => 9,
);
$sum = 0;
$tmp = '';
$val_arr = array(
'億' => 100000000,
'萬' => 10000,
'仟' => 1000,
'佰' => 100,
'拾' => 10,
);
for($i = 0, $cnt = mb_strlen($str, 'utf-8'); $i < $cnt; $i += 1)
{
$t = mb_substr($str, $i, 1, 'utf-8');
if($t == '元') continue;
if(in_array($t, $v_arr))
{
if($val_arr[$t] >= 10000)
{
$tmp = (double)$tmp;
$m = $sum - $big;
$t = ($tmp + $sum - $big) * $val_arr[$t];
$big = $t;
$sum += $t;
$sum = $sum - $m;
}
else
{
$tmp = (double)$tmp;
$sum += $tmp * $val_arr[$t];
}
$tmp = '';
}
else
{
$tmp .= $d_arr[$t];
}
}
if(!$sum) $sum = $tmp; return $sum;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货