导航:首页 > 编程语言 > php小数运算

php小数运算

发布时间:2022-06-23 01:49:56

1. php小数与整数相加,希望高手帮帮忙

<?php

$a=1.5;$b=2;$c=1.4;

echo$a+$b+$c;

?>

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

#舍去
echofloor(4.3);//4
#进一
echoceil(4.3);//5
#四舍五入
echoround(3.4);//3
echoround(3.5);//4

3. php中数字运算问题

ceil
(PHP 3, PHP 4 , PHP 5)

ceil -- 进一法取整
说明
float ceil ( float value)

返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。

例子 1. ceil() 例子

<?php
echo ceil(4.3); // 5
echo ceil(9.999); // 10
?>

参见 floor() 和 round()。

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

一则浮点数计算例子如下:
代码如下:
$a = 0.2+0.7;
$b = 0.9;
var_mp($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_mp(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() 函数是按照指定的精度进行四舍五入,但保留小数点后一位,对我们的取整结果是没影响的。

5. php中如何计算圆的面积且保留两位小数

PHP 中的 round() 函数可以实现
round() 函数对浮点数进行四舍五入。
round(x,prec)
参数说明
x 可选。规定要舍入的数字。
prec 可选。规定小数点后的位数。
返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。
注释:PHP 默认不能正确处理类似 "12,300.2" 的字符串。
例如:
输出: -4.64

6. 请教,php保留两位小数,但不四舍五入

使用bc一类的函数,按字符串方式运算即可。
/**
*数值非四舍五入保留两位小数
*@authorZjmainstay
*@websitehttp://www.zjmainstay.cn
*@param$num数值
*@return保留两位小数
*/
functiongetNum($num,$scale=2){
$numStr=(string)$num.str_repeat('0',$scale);

//匹配精度前的数值
if(preg_match('#^d+.d{0,'.$scale.'}#',$numStr,$match)){
return$match[0];
}else{
return'0';
}
}

echogetNum(10.0253)." ";
echogetNum(0.5)." ";

7. php计算后如何取小数点前面的

<?php echo ceil($kkoi+$userid); ?>
上述ceil是系统四舍五入方法

8. 在PHP中怎么取小数点后的位数,如:23.43453 要保留两位小数怎么取

round(23.43453,2);
四舍五入保留小数点后两位

9. 怎么用php编写加减乘除

可以参考下面的代码:

<?php

$a = 1;

$b = 2;

加法: $sum = $a + $b;

减法: $sum = $a - $b;

乘法: $sum = $a * $b;

除法: $sum = $a / $b;

(9)php小数运算扩展阅读:

PHP的加密函数有crypt()、 md5() 和sha1() 这3种, 其中crypt() 用于单向加密, 所谓的单向加密就是将需要加密的内容进行加密之后, 无法将密文转换成为可读的内容, 因此单向加密的应用范围较狭窄, 一般用于用户名认证和密码输入等情况。

当用户进入系统时,只需要将密文口令输 入,经过系统验证与存储的口令一致, 即可通过。

sha1() 函数使用了SHA-1的散列算法,其原理与md5() 类似。

10. php中3个小数的计算,如134.7-52.5 - 82.2,为什么结果不是0而是一个奇怪的科学计数法

楼上的回答很详细了,而且,这不仅仅是php的问题,你在js里console.log(134.7-52.5 - 82.2)

也得不到0的,

阅读全文

与php小数运算相关的资料

热点内容
c预编译干什么 浏览:22
hp网络共享文件夹 浏览:363
程序员如何不被废 浏览:803
二进制流转pdf 浏览:915
php判断爬虫 浏览:570
960除24除4简便算法 浏览:786
关于解压英语翻译 浏览:565
python控制键盘右键 浏览:920
php没有libmysqldll 浏览:828
时政新闻app哪个好 浏览:906
手机已加密怎么办 浏览:201
安卓手机截屏怎么传到苹果 浏览:527
京管家app哪里下载 浏览:33
文件夹横向排列的竖向排列 浏览:453
51单片机驱动摄像头模块 浏览:689
政府文件加密没法转换 浏览:373
android判断栈顶 浏览:331
凭证软件源码 浏览:860
androidwebview滚动事件 浏览:11
如何将电脑上的图片压缩成文件包 浏览:899