今天两个同事用JAVA实现圆周率一百位小数的实现
一个同事问我要不要试试
由于很长时间没有写过JAVA代码
而且本身JAVA的水平就很差
于是打算用ORACLE实现
其实Oracle中使用现成的函数就可以直接到的圆周率比如
SQL>SELECTACOS()FROMDUAL;
ACOS()
可以通过调整数值类型的参数来获取位精度
SQL>SETNUMW
SQL>SELECTACOS()PIFROMDUAL;
PI
如果不能使用现成的函数而要自己计算则要麻烦一些
当时同事问我的时候我告诉他一分种左右就可以搞定而实际证明写这个代码用了分钟左右
SQL>CREATEORREPLACEPROCEDUREP_PIwrapped
a
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
ecf
bLpznNEJAQZmxUWFNNvTiEwgwDQUhqfC/WmGCuaLfzZFLKG/pZHGJ/bKzDYxl/z+
qmDFusHSThkSZkEuyLmGKASmXQXlIcjcrCLQDfmeLEhifcu+/EuyZqsYYpFeKtfeC
VamvTmuhyHFqLbdFkURszthPMC+JwzjuIdQpEBIhhdUWdwHnhewAWXYtDklgqXm
dwNIDkQvcTtJx/uoFgVIBzPGVEYdVJ/IIwDU+CHQJHWJweeKGj/I=
/
过程已创建
这时版本下WRAP后的过程利用这个代码可以返回圆周率位以内的任意位小数
SQL>SETSERVEROUTON
SQL>EXECP_PI
PL/SQL 过程已成功完成
SQL>EXECP_PI()
PL/SQL 过程已成功完成
SQL>EXECP_PI()
PL/SQL 过程已成功完成
SQL>EXECP_PI()
PL/SQL 过程已成功完成
SQL>EXECP_PI()
PL/SQL 过程已成功完成