PHP-Manual的学习----【语言参考】----【类型】-----【float浮点型】

笔记:
1.浮点型(也叫浮点数 float,双精度数 double 或实数 real)可以用以下任一语法定义:
<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
?>
2.浮点数的字长和平台相关,尽管通常最大值是 1.8e308 并具有 14 位十进制数字的精度(64 位 IEEE 格式)。
3.以十进制能够精确表示的有理数如 0.1 或 0.7,无论有多少尾数都不能被内部所使用的二进制精确表示,因此不能在不丢失一点点精度的情况下转换为二进制的格式。这就会造成混乱的结果:例如,floor((0.1+0.7)*10) 通常会返回 7 而不是预期中的 8,因为该结果内部的表示其实是类似 7.9999999999999991118...。
4.所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。如果确实需要更高的精度,应该使用任意精度数学函数或者 gmp 函数。
5.NaN
某些数学运算会产生一个由常量 NAN 所代表的结果。此结果代表着一个在浮点数运算中未定义或不可表述的值。任何拿此值与其它任何值进行的松散或严格比较的结果都是 FALSE。
由于 NAN 代表着任何不同值,不应拿 NAN 去和其它值进行比较,包括其自身,应该用 is_nan() 来检查。

时间: 2024-08-03 16:14:06

PHP-Manual的学习----【语言参考】----【类型】-----【float浮点型】的相关文章

PHP手册-语言参考-类型-Float 浮点型

1. 浮点型:浮点数 float | 双精度数 double | 实数 real. 2. 要测试浮点数是否相等,要使用一个仅比该数值大一丁点的最小误差值(机器极小值 epsilon | 最小单元取整数). 3. NaN 代表着任何不同值,用 is_nan() 来检查.

PHP手册-语言参考-类型

PHP 支持8中原始数据类型:boolean | integer | float | string | array | object | resource | NULL 1. 4种标量数据类型 1.1 boolean 布尔类型 1.2 integer 整型 1.3 float | double 浮点型 1.4 string 字符串 2. 2种符合数据类型 2.1 array 数组 2.2 object 对象 3. 2种特殊类型 3.1 resource 资源 3.2 NULL 无类型 伪类型:m

PHP手册-语言参考-类型-Boolean 布尔类型

1. boolean 表达了真值,可以为 true 或 false.两个都不区分大小写. 2. 通常运算符所返回的 boolean 值结果会被传递给控制流程. 3. 当转换为 boolean 时,以下值被认为时 false: 3.1 布尔值 false 本身 3.2 整型值 0 3.3 浮点型值 0.0 3.4 空字符串,以及字符串“0” 3.5 不包括任何元素的数组 3.6 不包括任何成员变量的对象(仅 PHP 4.0适用) 3.7 特殊类型 NULL(包括尚未赋值的变量) 3.8 从空标记生

PHP手册-语言参考-类型-Integer 整型

1. 整型值可以使用十进制,十六进制,八进制或二进制表示,前面可以加上可选的符号(- 或者 +). 2. 要使用八进制表达,数字前必须加上0(零).要使用十六进制表达,数字前必须加上0x.要使用二进制表达,数字前必须加上0b.

PHP手册-语言参考-类型-String 字符串

1. 一个字符串 String 就是由一系列的字符组成,其中每个字符等同于一个字节. 2. 一个字符串可以用 4 种方式表达: 2.1 单引号 —— 需要表达一个单引号自身,需在它的前面加个反斜线(\)来转义. —— 在单引号字符串中的变量和特殊字符的转义序列不会被替换. 2.2 双引号 —— 在双引号中,PHP 将对一些特殊的字符进行解析. —— 用双引号定义的字符串最重要的特征是变量会被解析. 2.3 heredoc 语法结构:<<< —— 在该运算符之后要提供一个标识符,然后换行.

PHP-Manual的学习----【语言参考】

2017年6月28日11:29:31 语言参考    基本语法    类型    变量    常量1.当解析一个文件时,PHP 会寻找起始和结束标记,也就是 <?php 和 ?>,这告诉 PHP 开始和停止解析二者之间的代码.此种解析方式使得 PHP 可以被嵌入到各种不同的文档中去,而任何起始和结束标记之外的部分都会被 PHP 解析器忽略. 2.如果文件内容是纯 PHP 代码,最好在文件末尾删除 PHP 结束标记.这可以避免在 PHP 结束标记之后万一意外加入了空格或者换行符,会导致 PHP

Docs-.NET-C#-指南-语言参考-关键字-值类型:char

ylbtech-Docs-.NET-C#-指南-语言参考-关键字-值类型:char 1.返回顶部 1. char(C# 参考) 2019/10/22 char 类型关键字是 .NET System.Char 结构类型的别名,它表示 Unicode UTF-16 字符: 类型 范围 大小 .NET 类型 char U+0000 到 U+FFFF 16 位 System.Char 文本 char 类型的常量可以编写为字符文本.十六进制转义序列或 Unicode 表示形式. 也可以将整型字符代码强制转

Docs-.NET-C#-指南-语言参考-关键字-值类型:内置数值转换

ylbtech-Docs-.NET-C#-指南-语言参考-关键字-值类型:内置数值转换 1.返回顶部 1. 内置数值转换(C# 参考) 2019/10/22 C# 提供了一组整型和浮点数值类型. 任何两种数值类型之间都可以进行隐式或显式转换. 必须使用强制转换运算符 () 才能调用显式转换. 隐式数值转换 下表显示内置数值类型之间的预定义隐式转换: From 到 sbyte short.int.long.float.double 或 decimal byte short.ushort.int.u

swift 学习笔记:值类型and参考类型!

helloworld篇章 值: swift中类型分为两种:第一种是值类型,该类型的每个实例持有数据的副本,并且该副本对于每个实例来说是独一无二的一份,比如结构体(struct).枚举(enum).元组(tuple)都是值类型.第二种是参照类型,该类型的实例共享数据唯一的一份副本(在native层面说的话,就是该类型的每个实例都指向内存中的同一个地址),比如类(class)就是参照类型 如果你想创建一个新类型,那么你应该选择值类型还是参照类型呢?当你使用Cocoa框架时,很多API都是NSObje

学习Golang语言(6):类型--切片

学习Golang语言(1): Hello World 学习Golang语言(2): 变量 学习Golang语言(3):类型--布尔型和数值类型 学习Golang语言(4):类型--字符串 学习Golang语言(5):类型--数组 学习Golang语言(6):类型--切片 在很多应用场景中,数组不能够满足我们的需求.在初始定义数组时,我们并不知道数组所需的长度.因此,我们需要一个大小可以动态变化的数组(动态数组) 在Go语言中,这种"动态数组"成为slice(切片). 但是实际上slic