本文实例讲述了PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法。分享给大家供大家参考,具体如下:

PHP计算大数值运算时会出错,当数字太大时,数值会变成科学计数.那怎么来进行PHP超大数值运算,包括加减乘除,幂运算,平方根,取模运算呢?

要解决科学计数的问题,只要赋值时加一对引号即可.

如:

$n = '22222222222222222222222222220';

echo $n;

?>

如果不加引号,显示2.2222222222222E+28,加引号后显示22222222222222222222222222220

超大数值运算,包括加减乘除,幂运算,平方根,取模运算.

使用PHP的bcmath函数创建一个自定义函数,代码如下,

function calc($m,$n,$x){

$errors=array(

'被除数不能为零',

'负数没有平方根'

);

switch($x){

case 'add':

$t=bcadd($m,$n);

break;

case 'sub':

$t=bcsub($m,$n);

break;

case 'mul':

$t=bcmul($m,$n);

break;

case 'div':

if($n!=0){

$t=bcdiv($m,$n);

}else{

return $errors[0];

}

break;

case 'pow':

$t=bcpow($m,$n);

break;

case 'mod':

if($n!=0){

$t=bcmod($m,$n);

}else{

return $errors[0];

}

break;

case 'sqrt':

if($m>=0){

$t=bcsqrt($m);

}else{

return $errors[1];

}

break;

}

$t=preg_replace("/\..*0+$/",'',$t);

return $t;

}

/*用法举例*/

echo calc('11111111111111111111111111111111110','10','add');

?>

使用方法:

calc(参数1参数2,参数3);

参数3指定运算方法:add加,sub减,mul乖,div除,pow幂,mod取模,sqrt求算术平方根

加减乖除:参数1 加上/减去/乘以/除以 参数2

幂:参数1 的 参数2 次方.

模:参数1 除以 参数2 得到的余数.

算术平方根:求 参数1 的算术平方根.参数2不起作用,但不能省略.

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

php 大数运算类,PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法相关推荐

  1. php 科学计数加1,PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法_php技巧...

    本文实例讲述了PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法.分享给大家供大家参考,具体如下: PHP计算大数值运算时会出错,当数字太大时,数值会变成科学计数.那怎么来进行PHP超大数值 ...

  2. php 科学计数 位数,PHP采用超长位数字运算防止数字以科学计数法显示的实例

    本文主要介绍了PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法,涉及PHP数学运算及字符串操作的相关技巧.希望对大家有所帮助.本文实例讲述了PHP采用超长(超大)数字运算防止数字以科学计数 ...

  3. PL/SQL中查询Oracle大数(17位以上)时显示科学计数法的解决方法

    PL/SQL中查询Oracle大数(17位以上)时显示科学计数法的解决方法 参考文章: (1)PL/SQL中查询Oracle大数(17位以上)时显示科学计数法的解决方法 (2)https://www. ...

  4. Python 多位数字写入CSV文件,避免科学计数法显示,超长数字,超大数字,精度保留

    问题:多位数字直接写入CSV文件后,发现以下问题 1.数字位数过多,excel打开显示科学计数法 2.即使excel单元格格式为数字,发现最后几位被四舍五入,精度丢失 解决思路: 解决办法:数字改成字 ...

  5. oracle+字段科学计数,PL/SQL中查询Oracle大数(17位以上)时显示科学计数法的解决方法...

    乱想-What&Why 今天去海淀书城看书,目的很明确,本来是想买的下册(2010年3月份买了上册,当时下册没出来),谁知这本书不单卖,要和上册一起卖,扫兴. 兴致减半,索性找了旁边的 ...

  6. 浮点数——科学计数法、浮点数表示、加减运算和浮点数的使用

    目录 1.2浮点数 1.2.1 科学计数法 1.2.2 浮点数表示 1 符号位 2价码位 1.2.3 加减运算 1.2.4 浮点数的使用 1.2浮点数 浮点数是采用科学计数法来表示的,由符号位.有效数 ...

  7. 将一个大数转为科学计数法并保留两位小数打印

    实现:将一个大数转为科学计数法并保留两位小数打印 BigInteger scienceNum = new BigInteger("12345678901234567890"); S ...

  8. 超长浮点数据到科学计数法的转换

    文本格式化工具类TextFormatUtil public class TextFormatUtil {private static DecimalFormat mDecimalFormat = ne ...

  9. Javascript如何显示完整的大数加法结果而不是科学计数法形式

    对于正常的Javascript加法操作: 对于2^100在控制台进行计算并不能显示完整,上网查资料进行计算.(第一行为最终代码的计算结果,不显示科学计数法) 如何能达到计算出最上面一行呢?今天在Cod ...

最新文章

  1. 用半机械器官,打开发育生物学领域的黑匣子
  2. 大白话5分钟带你走进人工智能-第十一节梯度下降之手动实现梯度下降和随机梯度下降的代码(6)...
  3. 数据的聚类(cluster)|| 关联规则 || 回归
  4. 允许修改 SharePoint2010 中的电子邮件
  5. 【Android游戏开发十七】让玩家自定义手势玩转Android游戏!
  6. web前端三大主流框架_小猿圈web前端之前端的主流框架都有哪些?
  7. 第三次学JAVA再学不好就吃翔(part76)--Collection类
  8. Lambda的Lambda(如果可选)
  9. MySQL中有exists关键字吗_Mysql中EXISTS关键字用法、总结
  10. Comet服务器推送与SignalR
  11. [模拟] leetcode 14 最长公共前缀
  12. 为什么持续集成和部署在开发中非常重要?
  13. c语言循环接收按键,C语言中,如何用键盘输入来退出循环
  14. 服务器固态硬盘和普通硬盘的区别
  15. Word中删除空白页的4种方法
  16. 华硕鹰眼ZenFone Zoom推动潮流:比肩专业相机几率几何?
  17. 笔记本自动打开计算机,笔记本电脑自动开机是什么原因
  18. 大数据分析应用的九大领域
  19. 效率神器----WOX
  20. Navigator的教程

热门文章

  1. iPhone开发教程之Core Data 常见问题的总结
  2. Ping Function
  3. linux内核__force,Linux内核学习:I2C_SLAVE_FORCE
  4. python 检测exe是否未响应_第002篇:Python的安装
  5. 采购订单单位与基本计量单位不一致问题案例
  6. 1、Power View—使用前的准备
  7. SAP-ABAP三种定义嵌套型结构的方法
  8. 关于SmartForm和ScriptForm的输出格式设置说明(转载)
  9. GET_GLOBALS_FROM_SLVC_FULLSCR
  10. Search Help技术