php运算后保留一位,php保留2位小数

本文目录一览:

php 的位运算总结

php的位运算很少会用到,但是用处很大,

在有些算法中会用到,在权限管理中也会经常用到,

对于理解计算机的世界也会有一定的帮助,所以得把这些重要但不常用的东西总结一下记录一下。

提到位运算,避不开的是二进制。

因为位运算是直接在内存做操作和运算,相较与直接拿两个变量做运算符肯定是更快的。

很多地方把二进制这玩意说得很晦涩,现在来以最简单的方式来总结一下,当然只算 int 范围内的数算了,超过了这个范畴程序员还不如拿这时间去学点别的。

说完以上总结,再来解释下什么是二进制,网上大把,

但只要记住,int范围内的数也就是我们大部分需要用到的数,都可以用二进制来表示。

我们生活中用到的计数方式为十进制,由个数位满10进1,

然后再开始重新计算,等十位满9再加一时,百位加一,十位归零。

二进制则只有两个数字来表示就是0和1,满2进1。

由32个位组成,虽然只有32个位但已满足了我们正常的需求了

比如说1转换为2进制原码,由于1是正数所以符号位为0,

原码反码补码都一个样。

1的原码:00000000 00000000 00000000 00000001

因手懒,太多0太丑用+拼接,’0* 8’代表8个0

2的原码:0* 8 0* 8 0* 8 0* 6 + 1 0,既然是二进制,

满2就得进1,最低位归0,向前加一。

再来解释下负数的原码反码和补码,就开始讲php的位运算了。

二进制复习完毕。下面开始讲讲php的位运算。

php一共有六种位运算,一种一种来讲。

可以这么理解,两个数的补码放在一起比较每个位(一共32个位),

可以得出另外一个数,这个数字的组成由比较的两位数字生成,

如果两个数的每个位数上的数字都等于1的话,

那得到的那个数的补码的同位为1,否则为0。

听着绕口,其实很简单,觉得还是比官网上的更容易让新手看懂

下面举例子:

首先来求-1和7的补码。7的原码就是补码。

两个补码都有了下面开始运算:

按照上面的说法, 每个位都有一样则 $a 的同等位则为1,刚好-1的补码和7的补码前面都不一样,就最后三位一样,所以刚好求得的 $a 的补码的最后三位是1而其他的都是0 ,刚好这个补码为正数,正好就是7。

其实就是和按位与相反,只要有1个为1,那就为1,如果都不为1,那就为0。

$a = -1|7 ;得出来的 $a 补码为32个1,但此时不能说 $a 就是-1,因为这只是补码,要转成原码再转成十进制数,补码-1,然后再翻转,再转出来,得到的其实也还是-1。

就是将这个数的补码全部翻转过来,包括符号位,0变1,1变0

取反的结果一定是整数变负数负数变正数,取正数的反时,

记得一定要从补码一步步转到原码再转成十进制数才是答案。

两个数的补码比较,同等位上的两数比较

,不一样时,则答案的补码的同位则为1,否则为0。

往左移符号位被挤走右边0补充,往右移动,符号位不动,

高位以符号位补充。二进制世界里往左移动其实是相当于乘以了2,

右移相当于除以了2。

不吹牛逼的说,这应该是互联网上最容易理解的php位运算的解释和二进制的解释了。

原文链接: php的位运算总结-PHP

php 科学计算法 科学记数法 E 保留 小数位数

#舍去

echo floor(4.3);   // 4

#进一

echo ceil(4.3);    // 5

#四舍五入

echo round(3.4);         // 3

echo round(3.5);         // 4

php如何保留一位小数,包括0,内详?

PHP变量保留一位小数,包括0;可以考虑使用sprintf函数,控制浮点数格式。示例如下:

?php

header(“Content-type:text/html;charset=utf-8;”);

$money=20;

$money=sprintf(“%.1f”,$money);

echo $money;

//20.0

$money2=20.20;

$money2=sprintf(“%.1f”,$money2);

echo $money2;

//20.2

PHP初学者,四舍五入并且保留1位小数的函数

用round函数。

其中包含2个参数,第一个参数是要转化的变量,第二参数是要保留的小数位数!

望采纳,谢谢!

为什么php用小数点相减不对呢

一则浮点数计算例子如下:

代码如下:

$a = 0.2+0.7;

$b = 0.9;

var_dump($a == $b);

打印出的结果是:bool(false)。也就是说在这里 0.2+0.7 的计算结果与 0.9 并不相等,这显然是有违我们的常识的。

对此问题,PHP官方手册曾又说明:显然简单的十进制分数如 0.2 不能在不丢失一点点精度的情况下转换为内部二进制的格式。这和一个事实有关,那就是不可能精确的用有限位数表达某些十进制分数。例如,十进制的 1/3 变成了 0.3333333…。

我们将上面的变量用双精度格式打印出来:

代码如下:

$a = 0.2+0.7;

$b = 0.9;

printf(“%0.20f”, $a);

echo ‘br /’;

printf(“%0.20f”, $b);

输出结果如下:

代码如下:

0.89999999999999991118

0.90000000000000002220

显然在这里,实际上作为浮点型数据,其精度已经损失了一部分,达不到完全精确。所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。需要说明的是,这不是PHP的问题,而是计算机内部处理浮点数的问题!在 C、JAVA 等语言中也会遇到同样的问题。

所以要比较两个浮点数,需要将其控制在我们需要的精度范围内再行比较,因此使用 bcadd() 函数来对浮点数想加并进行精度转换(为字符串):

代码如下:

var_dump(bcadd(0.2,0.7,1) == 0.9); // 输出:bool(true)

浮点数取整

在《PHP 取整函数 ceil 与 floor》一文中,曾有例子:

代码如下:

?php

echo ceil(2.1/0.7); // 输出:4

?

经过上面对浮点数计算的探讨,知道这是浮点数计算结果不完全精确造成的:

代码如下:

?php

printf(“%0.20f”, (2.1/0.7)); // 输出:3.00000000000000044409

?

经过上面对浮点数计算的探讨,知道这是浮点数计算结果不完全精确造成的,因此使用 round() 函数处理一下即可:

代码如下:

?php

echo ceil( round((2.1/0.7),1) );

?

虽然 round() 函数是按照指定的精度进行四舍五入,但保留小数点后一位,对我们的取整结果是没影响的。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/193599.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-12-01 15:02
下一篇 2024-12-01 15:03

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • PHP获取301跳转后的地址

    本文将为大家介绍如何使用PHP获取301跳转后的地址。301重定向是什么呢?当我们访问一个网页A,但是它已经被迁移到了另一个地址B,此时若服务器端做了301重定向,那么你的浏览器在…

    编程 2025-04-27
  • PHP登录页面代码实现

    本文将从多个方面详细阐述如何使用PHP编写一个简单的登录页面。 1. PHP登录页面基本架构 在PHP登录页面中,需要包含HTML表单,用户在表单中输入账号密码等信息,提交表单后服…

    编程 2025-04-27
  • PHP与Python的比较

    本文将会对PHP与Python进行比较和对比分析,包括语法特性、优缺点等方面。帮助读者更好地理解和使用这两种语言。 一、语法特性 PHP语法特性: <?php // 简单的P…

    编程 2025-04-27
  • PHP版本管理工具phpenv详解

    在PHP项目开发过程中,我们可能需要用到不同版本的PHP环境来试验不同的功能或避免不同版本的兼容性问题。或者我们需要在同一台服务器上同时运行多个不同版本的PHP语言。但是每次手动安…

    编程 2025-04-24
  • PHP数组去重详解

    一、array_unique函数 array_unique是php中常用的数组去重函数,它基于值来判断元素是否重复,具体使用方法如下: $array = array(‘a’, ‘b…

    编程 2025-04-24
  • PHP导出Excel文件

    一、PHP导出Excel文件列宽调整 当我们使用PHP导出Excel文件时,有时需要调整单元格的列宽。可以使用PHPExcel类库中的setWidth方法来设置单元格的列宽。下面是…

    编程 2025-04-24
  • php扩展库初探

    一、什么是php扩展库? PHP扩展库(PHP extension)是一些用C语言编写的动态链接库,用于扩展PHP的功能。PHP扩展库使得PHP可以与各种数据库系统相连、SMTP、…

    编程 2025-04-23

发表回复

登录后才能评论