- 浏览: 527756 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (152)
- Ajax总结 (10)
- JavaScript总结 (44)
- Java实用程序总结 (35)
- Spring总结 (10)
- Struts总结 (5)
- Hibernate学习 (3)
- 数据库学习 (9)
- CSS学习 (4)
- XML学习 (1)
- webservice (2)
- Java设计模式 (2)
- log4j (1)
- html (1)
- Jsp/Sevlet学习 (1)
- quartz学习 (1)
- tomcat (5)
- asm (0)
- maven (3)
- cloudstack (1)
- nginx (1)
- mysql (1)
- Redis (1)
- solr (2)
- rabbitmq (5)
- ELK (3)
最新评论
-
coosummer:
推荐使用http://buttoncssgenerator.c ...
几个比较好看的button的样式 -
thegod:
请问博主,计算平均成绩那个例子,“ // 将输入的数据首先按行 ...
hadoop的编程实例 -
微生物:
good
基于Maven的web项目在Eclipse中使用Tomcat调试 -
jacking124:
这个有这样一个问题,就是jsp-api包冲突!!
基于Maven的web项目在Eclipse中使用Tomcat调试 -
u010940863:
大神,这个工具类怎么用啊!求讲解啊!
Java创建和下载excel文件
package com.zx.test; import java.math.BigDecimal; /** * 由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精 * 确的浮点数运算,包括加减乘除和四舍五入。 */ public class NumberUtils { //默认除法运算精度 private static final int DEF_DIV_SCALE = 10; //这个类不能实例化 private NumberUtils(){ } /** * 提供精确的加法运算。 * @param v1 被加数 * @param v2 加数 * @return 两个参数的和 */ public static double add(double v1,double v2){ BigDecimal b1 = new BigDecimal(Double.toString(v1)); BigDecimal b2 = new BigDecimal(Double.toString(v2)); return b1.add(b2).doubleValue(); } /** * 提供精确的减法运算。 * @param v1 被减数 * @param v2 减数 * @return 两个参数的差 */ public static double sub(double v1,double v2){ BigDecimal b1 = new BigDecimal(Double.toString(v1)); BigDecimal b2 = new BigDecimal(Double.toString(v2)); return b1.subtract(b2).doubleValue(); } /** * 提供精确的乘法运算。 * @param v1 被乘数 * @param v2 乘数 * @return 两个参数的积 */ public static double mul(double v1,double v2){ BigDecimal b1 = new BigDecimal(Double.toString(v1)); BigDecimal b2 = new BigDecimal(Double.toString(v2)); return b1.multiply(b2).doubleValue(); } /** * 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到 * 小数点以后10位,以后的数字四舍五入。 * @param v1 被除数 * @param v2 除数 * @return 两个参数的商 */ public static double div(double v1,double v2){ return div(v1,v2,DEF_DIV_SCALE); } /** * 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指 * 定精度,以后的数字四舍五入。 * @param v1 被除数 * @param v2 除数 * @param scale 表示表示需要精确到小数点以后几位。 * @return 两个参数的商 */ public static double div(double v1,double v2,int scale){ if(scale<0){ throw new IllegalArgumentException( "The scale must be a positive integer or zero"); } BigDecimal b1 = new BigDecimal(Double.toString(v1)); BigDecimal b2 = new BigDecimal(Double.toString(v2)); return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue(); } /** * 提供精确的小数位四舍五入处理。 * @param v 需要四舍五入的数字 * @param scale 小数点后保留几位 * @return 四舍五入后的结果 */ public static double round(double v,int scale){ if(scale<0){ throw new IllegalArgumentException( "The scale must be a positive integer or zero"); } BigDecimal b = new BigDecimal(Double.toString(v)); BigDecimal one = new BigDecimal("1"); return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue(); } public static void main(String args[]){ double a=1; double b=3; double c=Math.round(33.523*100)/100; System.out.println(c); double d=NumberUtils.round(33.3369589789, 2); System.out.println(d); } }
发表评论
-
HttpClient请求调用封装
2014-04-04 16:35 26741. maven依赖包下载 <!-- httpcl ... -
Json转换工具类JsonUtil
2014-04-04 14:08 272961. maven依赖包下载 <!--json-li ... -
POI操作Excel文件
2014-03-14 12:01 14261. ExcelBean.java package com ... -
Java生成随机验证码
2014-02-27 18:03 8653package com.tg.snail.core.util ... -
hadoop的编程实例
2013-09-17 22:47 45675原文链接:http://www.cnblogs.c ... -
Array,List分页代码
2013-08-30 17:39 1759package com.snail.util; imp ... -
使用Google的Gson实现对象和json字符串之间的转换
2013-08-09 16:00 61788使用Google的Gson实现对象和json字符串之间的转换 ... -
一般加密和解密工具类
2013-07-12 16:38 1328package com.snail.util; im ... -
Java自带的MD5加密算法
2013-07-12 16:12 1687package com.snail.util; impo ... -
Java并发编程-Executor
2012-09-25 11:24 1256Executor框架是指java 5中引入的一系列并发库中与e ... -
MD5加密
2011-12-14 13:03 810package com.config; import j ... -
Java实现的代码生成器
2011-09-09 13:23 2402package test; import java.io ... -
Java性能优化总结
2011-08-24 17:53 2123... -
Java读写文本文件操作
2011-07-27 13:52 3034package com.test; import jav ... -
Java创建和下载excel文件
2011-07-27 11:38 7806package com.g3.hrp.customer_s ... -
Java反射操作(需要commons-beanutils-1.8.2.jar)
2011-07-05 13:41 1172Java反射操作(需要commons-beanutils-1. ... -
正则表达式替换sql语句中的参数
2011-03-29 16:46 3711import java.util.ArrayList; im ... -
Java读取MAC地址
2011-02-15 09:41 1520Java读取MAC地址程序 package org.reve ... -
JAVA上传文件比较与实例
2010-11-12 16:26 4461JAVA上传文件比较与实例 jsp文件上传大多采用采用开源项目 ... -
图片工具类,完成图片的截取,缩放(ImageHepler )
2010-11-12 15:34 1227package com.lz.hr_picture.helpe ...
相关推荐
1. **使用BigDecimal类**:Java提供了`java.math.BigDecimal`类,用于进行高精度的浮点数运算。它允许指定精度,并在计算过程中保持该精度,从而避免了浮点数的精度问题。 2. **比较浮点数时的容差**:直接比较两个...
总之,`CalculatorUtils.java`和`ArithUtil.java`这两个文件共同构建了一个全面的房贷计算框架,通过输入相关的贷款信息,用户可以得到精确的月供、利息总额等关键数据,这对于购房者来说是非常实用的工具。...
总的来说,"Caculate.java"提供了一种实用的方法,用于处理基于经纬度的地理计算,这对于需要在地图应用中进行定位和导航的开发者来说是极其有价值的。通过深入理解这个源码,我们可以更好地理解和实现自己的地理...
- `BigDecimal`:Java内置的高精度浮点数类,用于进行精确的数学计算,避免浮点数运算中的精度问题。 3. **数据库交互**: - `JDBC`(Java Database Connectivity):Java标准API,用于与各种数据库进行交互,...
另一个重要的包是`java.util`,它包含了许多实用工具类和接口,用于处理集合、日期时间、排序和遍历等任务: 1. **Arrays类**:提供了一组静态方法来操作数组,如排序、复制和填充数组。 2. **Vector类**:类似于...
理解这些类的用法有助于处理大规模或需要精确计算的场景。 6. **布尔(Boolean)**:`Boolean`类是Java中的封装类,用于处理布尔值。虽然基本类型`boolean`已经足够日常使用,但在某些情况下,如使用`equals()`方法或...
10. **避免使用浮点数进行精确计算**: 浮点数运算不总是精确的,尤其是在涉及货币或其他需要精确值的场景。应优先使用BigDecimal处理精确计算。 11. **了解并使用泛型**: 泛型可以提供编译时类型检查,防止类型转换...
- 当需要处理大整数或高精度浮点数时,可以使用 `BigInteger` 和 `BigDecimal` 类,它们提供不受平台限制的精确计算。 4. **日期和数字的转换** - 在处理日期字符串和日期对象之间转换时,`SimpleDateFormat....
3. **Date**: `java.util.Date`类代表了特定的瞬间,精确到毫秒。它可以用来表示日期和时间,但需要注意的是,由于历史原因,`Date`类的设计并不完美,现在通常推荐使用`java.time`包中的`LocalDateTime`等类来处理...
9. **避免使用浮点数进行精确计算**:由于浮点数计算的不精确性,书中建议在需要精确结果的情况下使用BigDecimal类。 10. **优先考虑使用标准库**:鼓励开发者充分利用Java标准库提供的功能,如Collections框架、I/...
14. **避免使用浮点数进行精确计算**:浮点数运算在Java中可能存在精度问题,对于需要精确结果的计算,应使用BigDecimal类。 15. **并发编程**:理解和使用并发工具类,如ExecutorService、Semaphore、...
9. **java.math**:提供大整数(BigInteger)和高精度浮点数(BigDecimal)运算,适合需要精确计算的场景。 10. **java.text**:包含国际化和格式化相关的类,如NumberFormat、DateFormat,用于处理数字和日期的...
此外,如果需要进行复杂的数学计算,可以使用`BigDecimal`类来处理精确的浮点数运算,避免因浮点数精度问题导致的误差。 3. **字符串操作**: `String`类是Java中最常用的数据类型之一,提供了大量方法如`...
在Java编程领域,"java贷款计算器"是一个实用的工具,用于计算商业贷款、公积金贷款以及提前还款的各种场景。这个计算器程序通常会包含等额本金、等额本息这两种常见的还款方式,以满足用户的不同需求。这里我们将...
4. **数值运算**:在Java中,`java.math`包提供了`BigDecimal`类,用于进行精确的浮点数运算,防止因浮点数计算误差导致的结果不准确。对于整数运算,可以直接使用内置的整数类型如`int`和`long`。 5. **堆栈数据...
- **`BigDecimal`类**:用于表示任意精度的浮点数,适用于金融计算等场合。 - **数学运算**:包括加减乘除、取模、指数等操作,以及一些高级的数学函数。 #### 五、`java.net`包 `java.net`包提供了网络通信的基本...
首先,`BigDecimal`是Java中处理大数和精确浮点计算的类,避免了浮点数运算的不精确性。在Java测试中,`BigDecimal`工具类可能提供了如格式化、比较、四舍五入等便捷方法,帮助开发者更方便地进行数值计算和验证。 ...
`BigDecimal`类则提供了精确的浮点数运算,它使用任意精度的十进制数,可以避免精度问题。在科学计算器中,`BigDecimal`使得我们能处理像π或e这样的无限不循环小数,以及进行大整数的乘法、除法、加法和减法操作,...
**Double (双精度浮点数)**:Java中的double类型是一种浮点数类型,占用8个字节(64位)的存储空间,比float类型能表示更精确的小数点后数值。 **Char (字符型)**:Java中的char类型是一种字符类型,占用2个字节(16位...