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

news2024/11/26 12:45:17

一、保留小数点后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";
  }

 结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/459624.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Maven配置阿里云仓库

Maven简介: Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性&#x…

QMS-云质说质量 - 11 我和我的客户投诉(3) - 明枪易躲 暗箭难防

云质QMS原创 转载请注明来源 作者:王洪石 君子思义 小人贪利 金庸老先生在《笑傲江湖》中写道,“只要有人的地方就有恩怨,有恩怨就会有江湖,人就是江湖。”这句话映射到现实社会中,就是“社会险恶,人心叵测…

链表(JS实现、LeetCode例题)

📝个人主页:爱吃炫迈 💌系列专栏:数据结构与算法 🧑‍💻座右铭:道阻且长,行则将至💗 文章目录 链表链表的分类创建链表LinkedList类的骨架 实现链表的方法push尾部添加元…

『网络基础 一 』

目录 网络发展 认识 “协议” 网络协议初始 协议分层 OSI七层模型 TCP/IP五层(或四层)模型 网络传输基本流程 ​编辑 协议报头 数据包封装和分用 网络中的地址管理 认识IP地址 认识MAC地址 网络发展 独立设计:计算机之间的相互独立…

Flink系列-10、Flink DataStream的Transformation

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 大数据系列文章目录 官方网址:https://flink.apache.org/ 学习资料:https://flink-learning.org.cn/ 目录 官网所有的…

探析Android中的四类性能优化

作者:Yj家的孺子牛 流畅性优化 主线程模型 了解 Android 的流畅性优化之前,我们需要先了解Android的线程结构。在 Android 中,有一个主线程模型,其中所有的绘制以及交互都是在主线程中进行的,所以,当我们…

【LaTex】Elsevier投稿系统到底何时整顿?‘expl3.sty‘ aborted!

前言 两年前,我在投稿Elsevier旗下的Knoeldeg-based systems时就被这个投稿系统整得是头昏脑胀,直接肝爆。首先,第一次提交手稿时可以接受PDF,很方便。然而,后面大修时提交可编辑的源文件时给我狠狠的打脸了。记得当时…

快速入门量化交易

本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注"慕课网"! 原作者:袁霄|慕课网讲师 近来“量化交易”这个词听得越来越频繁,多数人对量化交易的第一印象是“高大上的技术”…

堆的原理解析

看这篇文章需要对比较器有一定的了解,可以看我的这篇文章: 认识比较器_鱼跃鹰飞的博客-CSDN博客 堆的实际存储方式是数组,但是脑海中应该把他想象成一种树的结构 依次加入下标0-8的9个数(添加过程中会不断的和父节点大小进行比…

舰船交流电网绝缘监测及故障定位的研究及产品选型

摘要:交流电网和电气设备的绝缘状况直接影响舰船电力系统安全,其绝缘电阻的下降是一个不可避免的过程,成为了电网安全的严重隐患。电气设备绝缘材料的劣化过程是不可逆的,对舰船交流电网进行绝缘在线监测及快速定位绝缘故障支路&a…

浅谈:JVM垃圾回收

一、四种类加载器(双亲委托/全盘委托机制) 1.启动类加载器: 加载 Java 核心类库,无法被 Java 程序直接引用。 2.扩展类加载器: 加载 Java 的扩展库。Java 虚拟机的实现会提供一个扩展库目录。该类加载器在此目录里面查找并加载 Java 类。 3.系统类加载器: 它根据 Java 应用的类…

seleniumUI自动化登录失败案例重新尝试WhileTrue

一个用户每次登录失败,失败N次,无法进入下一url时,怎样会重新尝试N次重新登录呢 ? 我们可以使用wihile true判断,并使用currenturl判断,下面就介绍以下个人的方法 currenturlEGTconfigFile.driver.curren…

Opencv识别车牌

Opencv识别车牌 #encoding:utf8 import cv2 import numpy as np Min_Area 50 #定位车牌 def color_position(img,output_path): colors [#([26,43,46], [34,255,255]), # 黄色 ([100,43,46], [124,255,255]), # 蓝色 ([35, 43, 46], [77, 255, 255]) # 绿色 ] hsv cv2.cvtCo…

推荐 7 个超牛的 Spring Cloud 实战项目

个 把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务,这就是微服务架构的架构概念,通过将功能分解到各个离散的服务中以实现对解决方案的解耦。 关于微服务相关的学习资料不多,而 GitHub 上的开源项目可以作为你微服务之旅…

STM32平衡小车 mpu6050学习

MPU6050简介 MPU6050是一款性价比很高的陀螺仪,可以读取X Y Z 三轴角度,X Y Z 三轴加速度,还有内置的温度传感器,在姿态解析方面应用非常广泛。 二、硬件连接 由于采用IIC通信,最基本的只需要采用四根线就可以了。分别VCC,GND,SCL,SDA连接到单片机 SCL-----PB6 SDA---…

23种设计模式之观察者模式(黑马程序员)

观察者模式 一、概述二、结构三、实现四、总结在最后 一、概述 观察者模式又被称为发布-订阅模式(Publish/Subscribe)模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有…

java 键值对详解及java键值对代码

在 Java中,对象可以理解为一个列表。这个列表里面的每个元素都是一个“键”,而每个“键”都是一个值。 键值对的概念,并不是在 Java中第一次出现,在 java 1.x中就已经有了。那时候它的意思是在一个命名空间中建立两个名字相同的对…

利用三维CNN对阿尔茨海默病进行多模态研究

文章目录 Is a PET All You Need? A Multi-modal Study for Alzheimer’s Disease Using 3D CNNs摘要方法实验结果讨论结论 Is a PET All You Need? A Multi-modal Study for Alzheimer’s Disease Using 3D CNNs 摘要 提出了一个系统评估多模态dnn的框架重新评估基于FDG-P…

Android-实现一个登录页面(kotlin)

准备工作 首先,确保你已经安装了 Android Studio。如果还没有安装,请访问 Android Studio 官网 下载并安装。 前提条件 - 安装并配置好 Android Studio Android Studio Electric Eel | 2022.1.1 Patch 2 Build #AI-221.6008.13.2211.9619390, built …

如何使用命令行添加配置码云仓库SSH秘钥-git仓库也一样

使用命令行添加配置码云仓库SSH秘钥 为什么要如何使用命令行添加配置码云仓库SSH秘钥?生成密钥你可以按如下命令来生成 sshkey:可以参考下图执行指令 添加密钥登录你的码云,鼠标移入头像,设置。点击 SSH公钥,打开配置页面&#x…