首先看看以下代码:
代码1:
<?php
$a=0.1;
$b=0.7;
if($a+$b==0.8)
{
echo "1";
}
else{
echo "2";
}
?>代码2:
<?php $f = 0.58; var_dump(intval($f * 100)); //为啥输出57 ?>
以上问题引用鸟哥的话就是"你看似有穷的小数, 在计算机的二进制表示里却是无穷的".
但是这都不要紧,因为php还提供了高精度函数库。
解决代码1:
<?php
$a=0.1;
$b=0.7;
if(bcadd($a,$b,1)==0.8)
{
echo "1";
}
else{
echo "2";
}
?>解决代码2:
<?php $f = 0.58; var_dump(bcadd($f * 100,0,0)); ?>
其实在其他语言中也是存在的,例如以下c#
static void Main(string[] args)
{
double a = 0.1;
double b = 0.7;
if (a+b==0.8)
{
Console.WriteLine("ok");
}
else
{
Console.WriteLine("failed!");
}
Console.ReadKey();
} 前公司吃饭是需要在钉钉报餐的,对于不挑剔的我每天都在公司吃饭,有时忘记报餐导致吃不了饭还是很麻烦的。看了下报餐系统需要的是json数据包含我的工号即可。于是编写如下代码,放在360网址监控,1小时执行1次<?php /*自动报餐类*/ class AutoBaocan{...
php官方的超全局变量$_SERVER['PHP_SELF']也能直接获取,只不过如果url参数太多也会获取。下面提供一个方法获取/* * 获取当前PHP文件名称 */ if (!function_exists('phpself...
php官方已经提供了Iterator(迭代器)接口,通过网上资料的学习,目前看适合超大集合或者数组提取使用。学习一个函数的实现对比内存占用差距.使用迭代器和普通循环实现range()函数。(1).普通循环实现range()函数。function newrange($low, $h...
(1).学习的目标:学会创建父子进程,并且能够区分当前进程是父还是子;了解父进程执行过程,子进程执行过程;能够用多进程执行任务(2).相关函数学习: (2.1)pcntl_fork()执行时: &nbs...
<?php /** * daemonize让当前脚本为守护进程执行 * @param string $callback 匿名函数 */ function daemonize($callback) {...
文章篇幅较长,如果不喜欢看文章的,此处抛出韩顺丰老师的位运算视频,韩老师应该是全网讲php位运算符最详细的一个老师了。链接:https://pan.baidu.com/s/14xj7er8eVSUcJ-jYXyA0GA 提取码:731m 链接:https://pan.baidu.com...