Home  >  Article  >  Backend Development  >  利用php+mysql来做一个功能强大的在线计算器_PHP教程

利用php+mysql来做一个功能强大的在线计算器_PHP教程

WBOY
WBOYOriginal
2016-07-21 15:33:351231browse

找了很久,发现网上资料很少,于是想自己动手写,慢慢的发现问题多了,自己不怎么通算法,写一个计算式子短点还好,长了就挂了,再长点恐怕就要死机。

有一天做做mysql突然发现原来mysql功能这么强大,可以直接计算字符串。。。哈哈 这下可就高兴了。

代码还超级简单 就做了一个ajax的计算器

有式子错误提示 还可以时时显示输入的式子

有兴趣的朋友可以看看 更多的功能可以自己去开发

演示地址:http://www.jianlila.com/jsq.php

jquer.js自己去下载

jsq1.php

复制代码 代码如下:

//链接数据库的
$db=mysql_connect("localhost","root","123");
header("Content-Type:text/html;charset=GB2312");
$str=iconv('utf-8','gbk',trim($_POST['t_ask']));
$str=str_replace(" ","",str_replace("\r\n","",$str));
$str=str_replace("(","(",$str);
$str=str_replace(")",")",$str);
/*三角函数替换*/
$str=preg_replace("/sin\((.*)\)/is","sin(\${1}*pi()/180)",$str);//替换sin
$str=preg_replace("/cos\((.*)\)/is","cos(\${1}*pi()/180)",$str);//替换cos
$str=preg_replace("/tan\((.*)\)/is","tan(\${1}*pi()/180)",$str);//替换tan
$str=preg_replace("/cot\((.*)\)/is","1/tan(\${1}*pi()/180)",$str);//替换余切
$str=preg_replace("/asin\((.*)\)/is","asin(\${1}/pi()*180)*180/pi()",$str);//反正弦
$str=preg_replace("/acos\((.*)\)/is","acos(\${1}/pi()*180)*180/pi()",$str);//反余弦
$str=preg_replace("/atan\((.*)\)/is","atan(\${1}/pi()*180)*180/pi()",$str);//替换反正切
$sql="select ".$str ;
$res=mysql_query($sql,$db) or die('你输入的式子有错误');
$rs=mysql_fetch_array($res);
echo $rs[0];
?>

jsq.php
复制代码 代码如下:



手写输入计算器










手写输入计算器






在这里你可以手写式子计算哦,还不快试试! 返回首页
















计算式子:
=






说明:

三角函数:

sin(60)正弦 cos(60)余弦 tan(60)正切 cot(60)余切

asin(0.5)反正弦 acos(0.5)
反余弦 atan(0.5)反正切

abs(-1)=1绝对值 ceil(0.1)=1进一

指数对数

exp(float arg)// 计算 e(自然对数的底)的指数

log(10,100)=2//自然对数 pow(2,4)=16 指数 sqrt(4)=2平方根







www.bkjia.comtruehttp://www.bkjia.com/PHPjc/322555.htmlTechArticle找了很久,发现网上资料很少,于是想自己动手写,慢慢的发现问题多了,自己不怎么通算法,写一个计算式子短点还好,长了就挂了,再...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn