资讯专栏INFORMATION COLUMN

关于PHP在企业中处理数字加减乘除和对比运算方案

crossoverJie / 568人阅读

摘要:如果在中对数字或者字符串加减乘除处理不当的话会导致结果不够严谨,通常的假如你需要处理加减乘除应该会是这样比如出现问题等于比如出现问题等于但假如两个类型不一致或者有精确度缺失就会导致一些问题的存在我们可以使用自带的函数来做加减运算处理设

如果在PHP中对数字或者字符串加减乘除处理不当的话、会导致结果不够严谨,通常的、假如你需要处理加减乘除应该会是这样:

$a = 1;

$b = 2;

$a * $b;

$a + $b;

$a - $b;

$a / $b;

比如出现问题:4.35-4.34等于0.0099999999999998
比如出现问题:"4.35"-"4.34"等于0.0099999999999998

但假如两个类型不一致或者有精确度缺失就会导致一些问题的存在、我们可以使用PHP自带的函数来做加减运算处理:

php // 设置默认小数点保留位数 bcscale(2); // 加法 echo bcadd(1234567890.123,
987654321987654321), PHP_EOL; // 减法 echo bcsub(1234567890.123,
987654321987654321), PHP_EOL; // 乘法 echo bcmul(1234567890.123,
987654321987654321), PHP_EOL; // 除法,指定保留小数后20位,否则小数点不够结果会是0 echo
bcdiv(1234567890.123, 987654321987654321, 20), PHP_EOL;

或者这时候、你需要对比两个数值的大小范围、我建议你这样做,使用bccomp("1.00","1.00",2)比较两个数字的大小

上面都可以参考这一页的手册:http://php.freehostingguru.co...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30089.html

相关文章

  • 系统的讲解 - PHP 浮点数高精度运算

    摘要:浮点数类型包括单精度浮点数和双精度浮点数。小结通过浮点数精度的问题,了解到浮点数的小数用二进制的表示。以后,在使用浮点数运算的时候,一定要慎之又慎,细节决定成败。 概述 记录下,工作中遇到的坑 ... 关于 PHP 浮点数运算,特别是金融行业、电子商务订单管理、数据报表等相关业务,利用浮点数进行加减乘除时,稍不留神运算结果就会出现偏差,轻则损失几十万,重则会有信誉损失,甚至吃上官司,我...

    makeFoxPlay 评论0 收藏0
  • 通过PHP与Python代码对比浅析语法差异

    摘要:二知识点最近在完成一个小作业,题目要求通过代码实现,让用户输入用户名密码,认证成功后显示欢迎信息,输错三次后退出程序。 一、背景 人工智能这几年一直都比较火,笔者一直想去学习一番;因为一直是从事PHP开发工作,对于Python接触并不算多,总是在关键时候面临着基础不牢,地动山摇的尴尬,比如在遇到稍微深入些的问题时候就容易卡壳,于是准备从Python入门从头学起; 笔者觉得应该有不少人同...

    edagarli 评论0 收藏0
  • PHP处理数学精度

    摘要:后来我看了下,确实有这么一个扩展库,处理任意精度数字,对于任意精度的数学,提供了支持用字符串表示的任意大小和精度的数字的二进制计算。 用编程语言做计算,很多时候浮点数精度都是困扰过我的问题,即便是刚学PHP的新手也会在群里问为什么我的计算结果明显不对,而我们总是老态龙钟的丢出一句浮点数计算都存在精度问题,并没有提出过什么实质性的改善。比如下面的计算 0.57*100: zhgxun-p...

    chaos_G 评论0 收藏0
  • san.parseExpr 源码学习

    摘要:方法的产生式如下由得这个函数,包含了除布尔值的表达式之外的,各个表示数据得表达式的解析部分。这里我的链接直接指向了上关于线性渐变的形式语法部分,可以看到这部分对线性渐变语法的描述,和我上面解析的时候所用的产生式如出一辙。 博客源地址:https://github.com/LeuisKen/l...相关评论还请到 issue 下。 方法说明 san.parseExpr是San中主模块下的...

    Donald 评论0 收藏0
  • 深入研究js的位运算及用法

    摘要:虽然在内部,数值都是以位浮点数的形式储存,但是做位运算的时候,是以位带符号的整数进行运算的,并且返回值也是一个位带符号的整数。如下表应用场景取整对于一般的整数,返回值不会有任何变化。例如,结果为负数存储采用的形式是二进制补码。 什么是位运算? 位运算是在数字底层(即表示数字的 32 个数位)进行运算的。由于位运算是低级的运算操作,所以速度往往也是最快的(相对其它运算如加减乘除来说),并...

    zhoutao 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<