我想实现的功能:100 = 100
1000 = 1000
10000 = 10000
100000 = 10万
1000000 = 100万
.
.
.
.
100000000 = 1亿
1000000000 = 10亿
10000000000 = 100亿
100000000000 = 1000亿这样的转换函数?这只是整数的例子,还需要计算小数,比如:1555000000 = 15.55亿;10033300000 = 100.33亿;10033800000 = 100.33亿很乱,而且我这人数学非常不好,位数一长了看着就头晕,那位大能帮个忙,给写下,万分感谢!
1000 = 1000
10000 = 10000
100000 = 10万
1000000 = 100万
.
.
.
.
100000000 = 1亿
1000000000 = 10亿
10000000000 = 100亿
100000000000 = 1000亿这样的转换函数?这只是整数的例子,还需要计算小数,比如:1555000000 = 15.55亿;10033300000 = 100.33亿;10033800000 = 100.33亿很乱,而且我这人数学非常不好,位数一长了看着就头晕,那位大能帮个忙,给写下,万分感谢!
function change( $num )
{
if( $num >= 100000000000 )
{
echo "error , the num too large";
}
elseif( $num >= 100000000 )
{
echo $num/100000000 . "亿";
}
elseif( $num >= 10000 )
{
echo $num/10000 . "万";
}
else
{
echo $num;
}
}
echo myc(1555000000000) ; //测试数字function myc($c){
$i = 1 ;
$j = -1 ;
$out = array();
$arr = array('万','亿','兆');
while(($c / ($i * 10000)) > 1){
$i = $i * 10000 ;
$j++ ;
if($j > 2){
exit('数字益出了');
}
$out[] = $c /$i ;
}
if($j == -1){
return $str = $c ;
}else{
return $str = end($out) . $arr[$j];
}
}
++++++++++这个OK
系统是不可能有处理这么精细的函数,只有最基本的以供操作,其他都是自定义。不过PHP的函数库还是非常强大的。至少比ASP强壮几倍!
楼上的补充以后也挺好用的
<?phpecho change(300100); //测试数字
function change($num) {
if($num >= 100000000000) {
$str = "error , the %f too large";
} elseif($num >= 100000000) {
$num =$num / 100000000;
$str = '%.2f亿';
} elseif($num >= 10000) {
$num =$num / 10000;
$str = '%.2f万';
} else {
$str = '%d';
}
return sprintf($str, $num);
}
echo myc(10330000000000000) ; //测试数字function myc($c){
$i = 1 ;
$j = -1 ;
$out = array();
$arr = array('万','亿','兆');
while(($c / ($i * 10000)) > 1){
$i = $i * 10000 ;
$j++ ;
if($j > 2){
return sprintf("%.0f",$c);
exit();
}
$out[] = $c /$i ;
}
if($j == -1){
return $str = $c ;
}else{
return $str = end($out) . $arr[$j];
}
}
?>万分感谢以上朋友的帮助!