PHP-整型浮点型

1. 不同进制数表示

十六进制:0x或0X开头
十进制: 1-9开头
八进制:0开头
2进制:0b开头

官方说明

2. 字节数

与平台有关,64位机器就是64位,32位操作系统就是32位,PHP7之前,windows只能是32bit;位数通过PHP_INT_SIZE设置,最大值使用常量PHP_INT_MAX (5.0.4), 最小值 PHP_INT_MIN(7.0.0)

3.类型转换

1. float和double 的存储

示例一

所以,关于整数部分在确保精度的范围内:
int(假设为32位)能表示的最大范围为 -2^31 ~ 2^31 - 1;
float能表示的最大的最大的整数范围是: -2^24 ~ 2^24;
double能表示的最大的最大的整数范围是: -2^53 ~ 2^53;
所以,当一个非常大的float数转为为32位整形时可能会丢失精度,即使float可以表示很大范围的整数。

2. 浮点数精度问题
详细参考:http://floating-point-gui.de/

示例

floor((0.1 + 0.7) * 10)  // 输出7,因为内部存储类似于7.9999999999999991118....

关于浮点型的使用

  • 小数的随后一位不可靠
  • 不要使用小数来做相等比较

3. php强制类型转化

(int) True    //1;
(int) False   //0;
(int) Array() //0;
(int) Array('1', 'b') //1;

float round(float $val, int $precise)

官方例子
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 定点小数运算 来自:http://www.eepw.com.cn/article/17893.htm 在DSP世界...
    郝宇峰阅读 9,353评论 0 2
  • 1、标识符 什么事标识符呢?变量的名字就是标识符。不仅限于变量名,程序中各种元素的名字,都属于标识符。例如符号常量...
    滕王阁序阅读 987评论 0 0
  • 最近连续不爽老板两次 第一次因为我自以为办事效率OK情况下汇报工作进度,前一天下午5点半交代跟商家谈判,我6点半搞...
    文我所思阅读 626评论 0 0
  • 不止是季节,我的生命似乎也走进了寒冷的冬天! 卵巢突然缺席,雌激素匮乏,内分泌严重失衡,令身体仿佛经历了一场8.0...
    杨爱民阅读 293评论 1 2
  • 1、不相信你们公司(拿出标志性客户证明); 2、产品不好用(拿出和对手的性能对比); 3、以后再考虑(讲清楚错失我...
    蟹老闆阅读 198评论 0 2