电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

PHP基礎(chǔ)之?dāng)?shù)據(jù)類型3——浮點(diǎn)型(Float)

瀏覽:20日期:2022-09-14 11:49:32

浮點(diǎn)型(也叫浮點(diǎn)數(shù) float,雙精度數(shù) double 或?qū)崝?shù) real)可以用以下任一語法定義:

<?php

$a = 1.234;

$b = 1.2e3;

$c = 7E-10;

?>

浮點(diǎn)數(shù)的形式表示:

LNUM ?????????[0-9]+DNUM ?????????([0-9]*[.]{LNUM}) | ({LNUM}[.][0-9]*)EXPONENT_DNUM [+-]?(({LNUM} | {DNUM}) [eE][+-]? {LNUM})

浮點(diǎn)數(shù)的字長和平臺相關(guān),盡管通常最大值是 1.8e308 并具有 14 位十進(jìn)制數(shù)字的精度(64 位 IEEE 格式)。

Warning

浮點(diǎn)數(shù)的精度

浮點(diǎn)數(shù)的精度有限。盡管取決于系統(tǒng),PHP 通常使用 IEEE 754 雙精度格式,則由于取整而導(dǎo)致的最大相對誤差為 1.11e-16。非基本數(shù)學(xué)運(yùn)算可能會給出更大誤差,并且要考慮到進(jìn)行復(fù)合運(yùn)算時的誤差傳遞。

此外,以十進(jìn)制能夠精確表示的有理數(shù)如 0.1 或 0.7,無論有多少尾數(shù)都不能被內(nèi)部所使用的二進(jìn)制精確表示,因此不能在不丟失一點(diǎn)點(diǎn)精度的情況下轉(zhuǎn)換為二進(jìn)制的格式。這就會造成混亂的結(jié)果:例如,floor((0.1+0.7)*10) 通常會返回 7 而不是預(yù)期中的 8,因?yàn)樵摻Y(jié)果內(nèi)部的表示其實(shí)是類似 7.9999999999999991118...。

所以永遠(yuǎn)不要相信浮點(diǎn)數(shù)結(jié)果精確到了最后一位,也永遠(yuǎn)不要比較兩個浮點(diǎn)數(shù)是否相等。如果確實(shí)需要更高的精度,應(yīng)該使用任意精度數(shù)學(xué)函數(shù)或者 gmp 函數(shù)。

參見? 浮點(diǎn)數(shù)指南網(wǎng)頁的簡單解釋。

轉(zhuǎn)換為浮點(diǎn)數(shù)

如果希望了解有關(guān)何時和如何將字符串轉(zhuǎn)換成浮點(diǎn)數(shù)的信息,請參閱“字符串轉(zhuǎn)換為數(shù)值”一節(jié)。對于其它類型的值,其情況類似于先將值轉(zhuǎn)換成整型,然后再轉(zhuǎn)換成浮點(diǎn)。請參閱“轉(zhuǎn)換為整型”一節(jié)以獲取更多信息。自 PHP 5 起,如果試圖將對象轉(zhuǎn)換為浮點(diǎn)數(shù),會發(fā)出一條 E_NOTICE 錯誤消息。

比較浮點(diǎn)數(shù)

如上述警告信息所言,由于內(nèi)部表達(dá)方式的原因,比較兩個浮點(diǎn)數(shù)是否相等是有問題的。不過還是有迂回的方法來比較浮點(diǎn)數(shù)值的。

要測試浮點(diǎn)數(shù)是否相等,要使用一個僅比該數(shù)值大一丁點(diǎn)的最小誤差值。該值也被稱為機(jī)器極小值(epsilon)或最小單元取整數(shù),是計(jì)算中所能接受的最小的差別值。

$a 和 $b 在小數(shù)點(diǎn)后五位精度內(nèi)都是相等的。

<?php

$a = 1.23456789;

$b = 1.23456780;

$epsilon = 0.00001;

if(abs($a-$b) < $epsilon) {

???echo 'true';

}

?>

NaN

某些數(shù)學(xué)運(yùn)算會產(chǎn)生一個由常量 NAN 所代表的結(jié)果。此結(jié)果代表著一個在浮點(diǎn)數(shù)運(yùn)算中未定義或不可表述的值。任何拿此值與其它任何值進(jìn)行的松散或嚴(yán)格比較的結(jié)果都是 FALSE。

由于 NAN 代表著任何不同值,不應(yīng)拿 NAN 去和其它值進(jìn)行比較,包括其自身,應(yīng)該用 is_nan() 來檢查。

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 数控专用机床,专用机床,自动线,组合机床,动力头,自动化加工生产线,江苏海鑫机床有限公司 | 3D全息投影_地面互动投影_360度立体投影_水幕灯光秀 | 广东银虎 蜂窝块状沸石分子筛-吸附脱硫分子筛-萍乡市捷龙环保科技有限公司 | 餐饮加盟网_特色餐饮加盟店_餐饮连锁店加盟 | 运动木地板厂家,篮球场木地板品牌,体育场馆木地板安装 - 欧氏运动地板 | 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | 细砂提取机,隔膜板框泥浆污泥压滤机,螺旋洗砂机设备,轮式洗砂机械,机制砂,圆锥颚式反击式破碎机,振动筛,滚筒筛,喂料机- 上海重睿环保设备有限公司 | 气力输送设备_料封泵_仓泵_散装机_气化板_压力释放阀-河南锐驰机械设备有限公司 | 振动传感器,检波器-威海广达勘探仪器有限公司 | 户外环保不锈钢垃圾桶_标识标牌制作_园林公园椅厂家_花箱定制-北京汇众环艺 | 北京公积金代办/租房发票/租房备案-北京金鼎源公积金提取服务中心 | 测试治具|过炉治具|过锡炉治具|工装夹具|测试夹具|允睿自动化设备 | MVR蒸发器厂家-多效蒸发器-工业废水蒸发器厂家-康景辉集团官网 | 无菌实验室规划装修设计-一体化实验室承包-北京洁净净化工程建设施工-北京航天科恩实验室装备工程技术有限公司 | 鲸鱼视觉 -数字展厅多媒体互动展示制作公司 | 留学生辅导网-在线课程论文辅导-留学生挂科申诉机构 | 山东锐智科电检测仪器有限公司_超声波测厚仪,涂层测厚仪,里氏硬度计,电火花检漏仪,地下管线探测仪 | 无锡网站建设_企业网站定制-网站制作公司-阿凡达网络 | 洛阳永磁工业大吊扇研发生产-工厂通风降温解决方案提供商-中实洛阳环境科技有限公司 | 天津蒸汽/热水锅炉-电锅炉安装维修直销厂家-天津鑫淼暖通设备有限公司 | 水环真空泵厂家,2bv真空泵,2be真空泵-淄博真空设备厂 | 蜘蛛车-高空作业平台-升降机-高空作业车租赁-臂式伸缩臂叉装车-登高车出租厂家 - 普雷斯特机械设备(北京)有限公司 | 耐压仪-高压耐压仪|徐吉电气| 生物风-销售载体,基因,质粒,ATCC细胞,ATCC菌株等,欢迎购买-百风生物 | 制氮设备_PSA制氮机_激光切割制氮机_氮气机生产厂家-苏州西斯气体设备有限公司 | 上海防爆真空干燥箱-上海防爆冷库-上海防爆冷柜?-上海浦下防爆设备厂家? | 搬运设备、起重设备、吊装设备—『龙海起重成套设备』 | 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 优考试_免费在线考试系统_培训考试系统_题库系统_组卷答题系统_匡优考试 | 电动垃圾车,垃圾清运车-江苏速利达机车有限公司 | 致胜管家软件服务【在线免费体验】 | 鹤壁创新仪器公司-全自动量热仪,定硫仪,煤炭测硫仪,灰熔点测定仪,快速自动测氢仪,工业分析仪,煤质化验仪器 | 广州迈驰新GMP兽药包装机首页_药品包装机_中药散剂包装机 | LCD3D打印机|教育|桌面|光固化|FDM3D打印机|3D打印设备-广州造维科技有限公司 | 汽车水泵_汽车水泵厂家-瑞安市骏迪汽车配件有限公司 | 对夹式止回阀_对夹式蝶形止回阀_对夹式软密封止回阀_超薄型止回阀_不锈钢底阀-温州上炬阀门科技有限公司 | 无刷电机_直流无刷电机_行星减速机-佛山市藤尺机电设备有限公司 无菌检查集菌仪,微生物限度仪器-苏州长留仪器百科 | 氢氧化钙设备, 氢氧化钙生产线-淄博惠琛工贸有限公司 | PSI渗透压仪,TPS酸度计,美国CHAI PCR仪,渗透压仪厂家_价格,微生物快速检测仪-华泰和合(北京)商贸有限公司 | 细胞染色-流式双标-试剂盒免费代做-上海研谨生物科技有限公司 | 光照全温振荡器(智能型)-恒隆仪器 | 伊卡洛斯软装首页-电动窗帘,别墅窗帘,定制窗帘,江浙沪1000+别墅窗帘案例 |