PHP 隐式转换(自动装换) 和 bc 精度函数

1<?php 2 3echo 1+true; //true -> 1 4echo '<hr />'; 5echo 1+false; //false -> 0 6echo '<hr />'; 7echo 1.1+false; 8echo '<hr />'; 9echo 1.1+true; 10echo '<hr />'; 11echo 1+null; //null -> 0 12echo '<hr />'; 13 14echo 1 + 'a'; //不是以合法数字开始直接转换成0 15echo '<hr />'; 16echo 1 + 'true'; //这里的true 是字符串这里这里 转转中成转中成成 0 17echo '<hr />'; 18echo 1 + '43king'; //这里会自动截取到字符为止 19 20echo '<hr />'; 21echo 1+'3qu2e1nn4'; //只会截取到第一个数字 22 23echo '<hr />'; 24echo 1+'8.8abv'; 25 26echo '<hr />'; 27echo 1+'3e2abc'; 28 29 30echo '<hr />'; 31echo '1.234561' + '2.222222'; 32echo '<hr />' ; 33echo 1 + '2.333333'; 34 35echo "<hr />"; 36echo 1.23 + 5.6666666; 37 38 39echo "<hr />"; 40echo true; // true -> 1 41 42echo "<hr />"; 43echo false; // 直接输出false 转成 空字符 44echo 'a',false,'b'; 45 46echo "<hr />"; 47echo null; // 直接输出NULL 转成 空字符 48echo "A",NULL,"B"; 49 50echo "<hr />"; 51$var=1; 52$var=-123; 53$var=0;//false 54$var=1.2; 55$var=0.0;//false 56$var='';//false 57$var="";//false 58$var=" "; 59$var="0";//false 60$var='0.0'; 61$var='false'; 62$var=null;//false 63$var=array();//false 64$var=array(1,2,3,0,'',null); 65$var=fopen('test_6.php','r'); 66$var=new stdClass(); 67if($var){ 68echo 'true'; 69}else{ 70echo 'false'; 71} 72 73 74echo "<hr />"; 75 76$a = 0.1; 77$b = 0.7; 78var_dump(($a + $b) == 0.8); //false 79 80echo "<hr />"; 81 82//解决方法: 83$a = 0.1; 84$b = 0.7; 85var_dump(bcadd($a,$b,2) == 0.8); 86 87echo "<hr />"; 88$f = 0.58; 89var_dump(intval($f * 100)); 90 91echo "<hr />"; 92//解决方法: 93$f = 0.58; 94var_dump(bcmul($f,100)); 95 96echo 1.35 + bcmul($f,100);
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )