php实现数字转亿万单位的示例代码

 更新时间:2023年11月07日 10:32:11   作者:PHP隔壁老王邻居  
这篇文章主要为大家详细介绍了php如何实现数字转亿万单位,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下

实现思路

1.将输入的数字乘以100,得到一个整数。

2.计算该整数的长度,即数字的长度。

3.根据长度判断数字的单位:

如果长度大于10,则数字的单位为亿。将原数字乘以0.000000001,并保留两位小数,最后加上单位"亿"。

如果长度大于6,则数字的单位为万。将原数字乘以0.00001,并保留两位小数,最后加上单位"万"。

否则,数字的单位为个。将原数字乘以0.01,并保留两位小数。

4.返回带单位的字符串。 注意:在计算过程中,使用了floor函数取整,以及substr_replace函数替换字符串中的字符。最后返回的字符串形式的数字采用了四舍五入取两位小数的方式。

示例代码

<?php
 function float_number($number){
 
    $number = $number*100;
    $length = strlen(floor($number));  //数字长度
    if($length > 10){ //亿单位
        $str =  round(substr_replace(floor($number * 0.000000001),'.',-1,0),2)."亿";
    }elseif($length >6){ //万单位
        //截取前俩为
        $str = round(($number * 0.00001) * 0.1,2)."万";
 
    }else{
        $str = round($number*0.01,2);
    }
    return $str;
}
 
 
$number = 1235989545; 
echo float_number($number);

方法补充

除了上文的方法,小编还为大家整理了其他php实现数字、单位转化的相关方法,希望对大家有所帮助

方法一:

例如21234需要转换为2.1万,281456789需要转换为2.8亿

 /**
 * 格式化数字
 */
  public function float_number($number){
        $length = strlen($number);  //数字长度
      if($length > 8){ //亿单位
        $str = substr_replace(floor($number * 0.0000001),'.',-1,0)."亿";
    }elseif($length >4){ //万单位
        //截取前俩为
        $str = floor($number * 0.001) * 0.1."万";

    }else{
        return $number;
    }
    return $str;
}

方法二:

PHP 数字转汉字

<?php  
 
$arrayNumber = [
	'0' => '零',
	'1' => '一',
	'2' => '二',
	'3' => '三',
	'4' => '四',
	'5' => '五',
	'6' => '六',
	'7' => '七',
	'8' => '八',
	'9' => '九',
];
 
$arrayUnit = [
	'0' => '',
	'1' => '十',
	'2' => '百',
	'3' => '千',
	'4' => '万',
	'5' => '十',
	'6' => '百',
	'7' => '千',
	'8' => '亿',
	'9' => '十',
	'10' => '百',
	'11' => '千',
];
 
$number = (string)123456789;
 
$numberLength = strlen($number);
 
$s = 0;
$str = '';
 
// 如果是两位数
if($numberLength == 2 && $number[0] == 1){
	if($number[1] == 0){
		$str .= $arrayUnit[1];
	}else{
		$str .= $arrayUnit[1].$arrayNumber[$number[1]];
	}
	echo $str;
	return $str;
}
 
// 不是两位数
for ($i=$numberLength; $i > 0; $i--) { 
	if($s == $numberLength - 1  && $number[$s] == 0){
 
	}elseif($number[$s] == 0 && $number[$s+1] == 0){
		//echo $s;
		if( ( $numberLength - $s) == 5 && $numberLength < 9){
			$str .= '万';
		}
		if( ($numberLength - $s) == 9 && $numberLength > 8){
			$str .= '亿';
		}
		$s++;
	}elseif($number[$s] == 0 && $number[$s+1] != 0){
		if( ($numberLength - $s) == 5 ){
			$str .= '万';
		}elseif( ($numberLength - $s) == 9 && $numberLength > 8){
			$str .= '亿';
		}else{
			$str .= $arrayNumber[$number[$s]];
		}
		
		$s++;
	}else{
		$str .= $arrayNumber[$number[$s]].$arrayUnit[$i-1];
		$s++;
	}
	
}
 
echo $str;
 
return $str;

到此这篇关于php实现数字转亿万单位的示例代码的文章就介绍到这了,更多相关php数字转亿万单位内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • PHP生成条形码大揭秘

    PHP生成条形码大揭秘

    前阵子在接触到一个商家优惠券的功能,需要用到条形码,于是将资料重新整理下,需要的朋友可以参考下
    2015-09-09
  • PHP简单判断手机设备的方法

    PHP简单判断手机设备的方法

    这篇文章主要介绍了PHP简单判断手机设备的方法,涉及php基于服务器预定义变量进行判断操作的相关技巧,需要的朋友可以参考下
    2016-08-08
  • php使用标签替换的方式生成静态页面

    php使用标签替换的方式生成静态页面

    php可以通过自带函数preg_replace可以用数组批量替换,不过用正则表达式替换效率很低,用起来也不方便。具体参考php手册。有需要的小伙伴可以参考下。
    2015-05-05
  • PHP设计模式之装饰器模式实例详解

    PHP设计模式之装饰器模式实例详解

    这篇文章主要介绍了PHP设计模式之装饰器模式,简单介绍了装饰器模式的概念、功能并结合实例形式详细分析了php实现与使用装饰器模式的相关操作技巧,需要的朋友可以参考下
    2018-02-02
  • PHP中常见的缓存技术实例分析

    PHP中常见的缓存技术实例分析

    这篇文章主要介绍了PHP中常见的缓存技术,以实例形式较为详细的分析了php中缓存技术的原理、特点及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • PHP实现表单处理方法详解

    PHP实现表单处理方法详解

    本文章向大家介绍PHP 表单处理,主要包括PHP 表单处理使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下
    2022-12-12
  • 在PHP中使用curl_init函数的说明

    在PHP中使用curl_init函数的说明

    在这篇文章中主要讲解php_curl库的知识,并教你如何更好的使用php_curl。
    2010-11-11
  • php向js函数传参的几种方法

    php向js函数传参的几种方法

    php向js函数传参可以使用$_POST也可使用$_SESSION[' '],也可用echo语句进行输出
    2014-08-08
  • PHP中使用mktime获取时间戳的一个黑色幽默分析

    PHP中使用mktime获取时间戳的一个黑色幽默分析

    mktime(hour,minute,second,month,day,year,is_dst)这是mktime的语法说明,一目了然应该不难写出一个时间戳的代码来
    2012-05-05
  • 如何使用PHP实现javascript的escape和unescape函数

    如何使用PHP实现javascript的escape和unescape函数

    本篇文章是对使用PHP实现javascript的escape和unescape函数的方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06

最新评论