thinkphp:数值(保留小数点后N位,四舍五入,左侧补零,格式化货币,取整,生成随机数,数字与字母进行转换)

本文介绍了在PHP中处理数字的一系列方法,包括使用number_format和round进行四舍五入和保留小数位,使用sprintf进行数字左侧补零,使用intval、ceil和floor进行取整,number_format进行货币格式化,以及rand生成随机数和基于ASCII码的数字字母转换。
摘要由CSDN通过智能技术生成

一、保留小数点后N位/类似四舍五入(以保留小数点后三位为准)

number_format()函数:第一个参数为要格式化的数字,第二个参数为保留的小数位数

方法一:

public function test()
{
  $num = 12.56789; // 待格式化的数字
  $result = number_format($num, 3); // 保留小数点后三位
  echo $result; // 输出结果
 }

结果:

方法二:

 round()函数:第一个参数为要四舍五入的数字,第二个参数指定要保留的小数位数,这里设置为3,即保留小数点后三位。

public function test()
  {
    $num = 3.1415926; // 待四舍五入的数字
    $result = round($num,3); // 保留小数点后两位
    echo $result; // 输出结果
  }

结果:

 二、数字左侧补零(以六位数字为准)

sprintf()函数:%06d表示将数字格式化为6位,其中前面的0表示用0进行补全。

public function test()
  {
    $num = 123; // 待补零数字
    $result = sprintf('%06d', $num); // 前补零,确保为4位
    echo $result; // 输出结果
  }

结果:

 三、取整

intval($num):转换变量为整数类型

ceil($num):取向上整数

floor($num):取向下整数

除了 intval 函数,其他三种取整函数的参数必须是数值型。

public function test()
{
   $num = 3.14;
   //法一:转换变量为整型
   $result1 = intval($num); //值为3
   //法二:向上整数
   $result2 = ceil($num);  //值为4
   //法二:向下整数
   $result3 = floor($num); //值为3
   //输出
   echo "方法一结果:".$result1."\n"."方法二结果:".$result2."\n"."方法三结果:".$result3."\n";
}

结果:

 

 四、格式化货币

number_format() 函数:可以将数字格式化为常见的添加千位分隔符的格式,并且可以设置小数点后保留的位数。

public function test()
{
   $money = 12345.6789;
   $formatted = '¥' . number_format($money, 2);  // 输出:"¥12,345.68"
   echo $formatted;
}

结果:

 五、生成随机数

rand()函数:生成随机数,第一个参数为起始数据,第二个参数为终止数据

public function test()
{
  $random1 = rand(1, 100); // 生成一个1到100之间的随机整数
  $random2 = rand(100, 200); // 生成一个100到200之间的随机整数
  echo "1到100之间的随机整数".$random1."\n";
  echo "100到200之间的随机整数".$random2."\n"; 
}

结果:

 六、数字与字母进行转换(要求1对应a)

ord 函数用于将字符转换为 ASCII 码

chr 函数用于将 ASCII 码转换为对应的字符

ASCII码表对应:A-65 ,a-97n

(1)数字转换为字母

public function test()
{
  //目的1:要求将数字4转换为d
  $num = 4;//需要转换的数字4
  //通过ord将a转化为97,加上需要转化的数字4,再减去1(从97开始计算,需要减去1才能满足要求)
  $result1 = chr(ord('a') + $num - 1);
  //目的2: 要求将数字4转换为D
  //输出结果
  $result2 = chr(ord('A') + $num - 1);
  echo "转为小写字母".$result1."\n";
  echo "转为大写字母".$result2."\n";
}

结果 :

 (2)字母转换为数字

public function test()
  {
    $letter = 'a';
    //目的1:要求将a转换为1
    $result1 = ord($letter) - ord('a') + 1; 
    //目的2: 要求将A转换为1
    //由于大写字母与小写字母之间差值为32,则需要减去
    $result2 = ord($letter) - ord('A') + 1 -32; 
    //输出结果
    echo "小写字母转为".$result1."\n";
    echo "大写字母转为".$result2."\n";
  }

 结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值