活着的死人 发表于 2015-1-18 11:19:56

JAVA网站制作之Java中准确盘算的一个类用BigDecimal

令人可喜的是java现在已经开源了,所以我想我上述的想法也许有一天会实现,因为java一直都是不断创新的语言,每次创新都会给我们惊喜,这也是我喜欢java的一个原因。这个类的确好用。在网上找到年夜的,是一个女Java程序员写的。凶猛~~~~~~哈哈
/*
*创立日期2004-10-14
*
*假如必要准确盘算,非要用String来够造BigDecimal不成
*/
packagecom.lims.actions.testqc.comm;

/**
*@authorJstar
*
*
*窗口>首选项>Java>代码天生>代码和正文
*/
importjava.math.BigDecimal;

/**
*因为Java的复杂范例不克不及够准确的对浮点数举行运算,这个工具类供应精
*确的浮点数运算,包含加减乘除和四舍五进。
*/

publicclassArith{

//默许除法运算精度

privatestaticfinalintDEF_DIV_SCALE=10;

//这个类不克不及实例化

privateArith(){

}

/**

*供应准确的加法运算。

*@paramv1被加数

*@paramv2加数

*@return两个参数的和

*/

publicstaticdoubleadd(doublev1,doublev2){

BigDecimalb1=newBigDecimal(Double.toString(v1));

BigDecimalb2=newBigDecimal(Double.toString(v2));

returnb1.add(b2).doubleValue();

}

/**
*供应准确的减法运算。
*@paramv1被减数
*@paramv2减数
*@return两个参数的差
*/

publicstaticdoublesub(doublev1,doublev2){

BigDecimalb1=newBigDecimal(Double.toString(v1));

BigDecimalb2=newBigDecimal(Double.toString(v2));

returnb1.subtract(b2).doubleValue();

}

/**

*供应准确的乘法运算。

*@paramv1被乘数

*@paramv2乘数

*@return两个参数的积

*/

publicstaticdoublemul(doublev1,doublev2){

BigDecimalb1=newBigDecimal(Double.toString(v1));

BigDecimalb2=newBigDecimal(Double.toString(v2));

returnb1.multiply(b2).doubleValue();

}

/**

*供应(绝对)准确的除法运算,当产生除不尽的情形时,准确到

*小数点今后10位,今后的数字四舍五进。

*@paramv1被除数

*@paramv2除数

*@return两个参数的商

*/

publicstaticdoublediv(doublev1,doublev2){

returndiv(v1,v2,DEF_DIV_SCALE);

}

/**

*供应(绝对)准确的除法运算。当产生除不尽的情形时,由scale参数指

*定精度,今后的数字四舍五进。

*@paramv1被除数

*@paramv2除数

*@paramscale暗示暗示必要准确到小数点今后几位。

*@return两个参数的商

*/

publicstaticdoublediv(doublev1,doublev2,intscale){

if(scale<0){

thrownewIllegalArgumentException("Thescalemustbeapositiveintegerorzero");

}

BigDecimalb1=newBigDecimal(Double.toString(v1));

BigDecimalb2=newBigDecimal(Double.toString(v2));

returnb1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();

}

/**

*供应准确的小数位四舍五进处置。

*@paramv必要四舍五进的数字

*@paramscale小数点后保存几位

*@return四舍五进后的了局

*/

publicstaticdoubleround(doublev,intscale){

if(scale<0){

thrownewIllegalArgumentException("Thescalemustbeapositiveintegerorzero");

}

BigDecimalb=newBigDecimal(Double.toString(v));

BigDecimalone=newBigDecimal("1");

returnb.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue();

}

};



微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包......

柔情似水 发表于 2015-1-20 12:08:13

Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台

不帅 发表于 2015-1-23 13:53:16

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

乐观 发表于 2015-1-26 18:29:06

Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)

小魔女 发表于 2015-2-4 16:03:24

Java是一种计算机编程语言,拥有跨平台、面向对java

冷月葬花魂 发表于 2015-2-8 19:39:00

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

老尸 发表于 2015-2-9 04:57:45

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

分手快乐 发表于 2015-2-22 20:11:31

http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。

爱飞 发表于 2015-3-7 01:56:05

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

谁可相欹 发表于 2015-3-13 01:10:45

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。

山那边是海 发表于 2015-3-20 08:48:50

是一种为 Internet发展的计算机语言
页: [1]
查看完整版本: JAVA网站制作之Java中准确盘算的一个类用BigDecimal