600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > jq 数字转中文数字_阿拉伯数字 转换 中文大写

jq 数字转中文数字_阿拉伯数字 转换 中文大写

时间:2019-04-30 03:49:50

相关推荐

jq 数字转中文数字_阿拉伯数字 转换 中文大写

阿拉伯数字 转换 中文大写

class ToChineseNumber {

private $money = "";

private $cnynums = array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");

private $cnyunits = array("圆","角","分");

private $cnygrees = array("拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟");

function __construct($money=0){

$this->money = round( $money , 2 );

}

private function cnyMapUnit( $list , $units ) {

$ul = count($units);

$xs = array();

$list = array_reverse($list);

while( list($keys , $vals) = each($list) ){

$l = count($xs);

if ($vals != "0" || !($l%4) ){

$val = $vals . ( $units[ ($l-1)%$ul ] );

}else{

$val = is_numeric( $xs[0][0] ) ? $vals : '';

}

array_unshift( $xs , $val );

}

return $xs;

}

public function arr( $leng=0 , $suffix=false ){

list( $int , $dec ) = explode( "." , $this->money , 2 );

$cnygrees = $this->cnygrees;

$cnynums = array_keys($this->cnynums);

$temp = array();

$index = 0;

if( $leng > 0 && $suffix !== false ){

for( $i=0; $i

}

$data = $this->cnyMapUnit( str_split($int) , $cnygrees );

$data = array_reverse( $data );

while( list( $key , $val ) = each( $data ) ){

$val = str_replace( $cnynums , $this->cnynums , $val );

if( empty( $temp[ $index ] ) ){

$temp[ $index ] = '';

}

$temp[ $index ] = $val . $temp[ $index ];

$index++;

if( $index > $leng ){

$index = $leng;

}

}

return array_reverse( $temp );

}

}

$to = new ToChineseNumber( 1892600 );

$to->arr( 4 , '');

// Array

// (

// [0] => 壹佰捌拾玖

// [1] => 贰

// [2] => 陆

// [3] => 零

// [4] => 零

// )

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。