- 浏览: 734730 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (198)
- struts 相关 (8)
- hibernate相关 (5)
- JSP相关 (3)
- javascript相关 (9)
- spring相关 (0)
- J2SE相关 (25)
- MSSQL (6)
- web服务器相关 (3)
- html相关 (8)
- Ajax相关 (1)
- VS2008 (2)
- ArcGIS Web server (2)
- WebService (5)
- ANT (4)
- Ajax (5)
- IDE (2)
- 网络相关知识点 (3)
- 算法相关 (3)
- 数据库相关 (8)
- JUnit (1)
- 搜索引擎 (1)
- JAVA模式 (11)
- Dorado (4)
- JXL (2)
- ACCESS (1)
- PHP (3)
- Mysql 数据库 (2)
- J2EE (11)
- Tomcat (1)
- Oracle (15)
- WebLogic (1)
- Eclipse (4)
- Flex (1)
- java 路上 (1)
- IIS服务器 (1)
- Pushlet (2)
- Log 4j (1)
- XML (2)
- JDOM (1)
- RMI (0)
- 常用 bat 命令 (1)
- velocity (2)
- Linux (5)
- PL/SQL (2)
- SQL (5)
最新评论
-
virtualspider:
请问我用了volatile不copy到线程内存里面的话,我怎么 ...
java中关键字volatile的作用 -
saiarmuluo:
不错,最近在看并发的知识一直没弄懂这块,谢谢!
java中关键字volatile的作用 -
java大神dxg:
Servlet、Filter和Listener -
mao_siyu:
多谢楼主 讲的很明白~~
java中关键字volatile的作用 -
qiangcz:
angole 写道jgroups 写道volatile告诉jv ...
java中关键字volatile的作用
import java.math.BigDecimal; /** *//** * 由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精 * 确的浮点数运算,包括加减乘除和四舍五入。 */ public class Arith{ //默认除法运算精度 private static final int DEF_DIV_SCALE = 10; //这个类不能实例化 private Arith(){ } /** *//** * 提供精确的加法运算。 * @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(); } }
发表评论
-
什么是内存泄露问题?
2010-05-21 10:23 2244·简介....................... ... -
Java同步、异步相关知识点
2009-11-12 18:02 5240一、关键字: thread( ... -
java读取properties文件
2009-10-21 08:45 1426一. .properties 文件的形式 引用# 以下为服务 ... -
JAVA推技术聊天室的实现
2009-10-14 17:37 3382基于推技术的聊天室在国内现在已经比较常见。这种聊天室最大的特点 ... -
Java中的”推”技术
2009-10-14 17:11 1246Java中的”推”技术 [/size] bromon原创 ... -
JAVA iterator 用法
2009-10-13 11:33 3313引用迭代器(Iterator) 迭代器是一种设计模式,它 ... -
java 获取MAC地址
2009-10-06 17:59 1189获取MAC地址: package com; imp ... -
java 各种类型初始值
2009-09-27 09:49 2159基本变量:byte,short,int,long 初始化为0 ... -
Java实现的拦截器模型
2009-09-18 11:40 2991拦截器在在流行的开源框架中很常见,依赖的技术就是Java的 ... -
JAVA的日期时间相减问题
2009-09-12 12:44 3498import java.util.Date;import ja ... -
线程和进程的区别
2009-09-07 19:12 1247进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该 ... -
读取propery文件
2009-06-30 11:30 1122http://www.iteye.com/topic/3808 ... -
获取用户输入I/O
2009-06-17 10:22 1178import java.io.BufferedReader ... -
获取 JAVA 程序当前的工作目录
2009-06-16 16:43 2631获取 JAVA 程序当前的工作目录 File file = ... -
eclipse导出jar 并制作成 bat直接运行
2009-06-16 15:29 3771在eclipse中导出生成的jar后,编写一个bat文件进行运 ... -
EJB 与 javabean 的区别
2009-05-17 22:05 2156文章出自:http://killazy.iteye.com/b ... -
java 中数据类型转换
2009-05-17 19:02 1891Java:数据类型转换。 1.J ... -
覆盖与重载
2009-05-17 17:34 1064[恶补JAVA]关于覆盖与重 ... -
java 面试必会知识点
2009-05-09 16:46 1658http://book.51cto.com/art/20090 ... -
JDK 配置参数
2009-05-06 21:06 3312JAVA环境变量的设置和对 ...
相关推荐
### 人民币小写金额转大写金额(Java版) #### 概述 本文将详细介绍一个Java程序,该程序用于将小写的人民币金额转换为大写形式。此转换主要用于财务、会计和其他正式场合,在这些场合中,大写金额是标准且必须的...
在IT行业中,尤其是在财务软件开发或者处理金融数据时,经常需要进行金额的格式转换,将中文大写的金额转换成小写数字。这是因为中文大写数字在财务领域中使用广泛,可以防止数字篡改,增强账目的安全性。本节将详细...
2. 小数的精确计算问题 在Java中,使用浮点数(如float和double)进行计算时可能会出现精度问题。由于二进制浮点数不能精确地表示一些十进制小数,例如1.1在二进制中无法精确表示,所以进行浮点数计算时需要注意其...
9:java中金额的精确计算问题 10:有关继承的要点 11:有关继承的问题 12;有关static、final的基本规则 13:有关数组的知识点 14:数组的拷贝 15:数组中插入法实现排序 16:Object类 1)、equals与==的区别 17:如何判断...
在本文中,我们将深入探讨Java如何用于开发此类应用程序,以及相关的关键知识点。 首先,让我们了解Java语言在处理打印任务时的优势。Java具有跨平台的特性,这意味着同一段代码可以在多种操作系统上运行,如...
这是因为double类型在精度上可能存在问题,尤其是在小数部分,而long类型可以提供更精确的整数计算能力。 2. **字符串分割与处理**: - 将转换后的long型数值转换为字符串,并分割成整数部分和小数部分。 - 整数...
使得在计算机内部处理时能够更高效地进行十进制运算,尤其在处理金融数据时更为常见,因为它可以精确地存储和计算小数点后的位数,避免浮点数计算中可能出现的精度问题。 BCD编码的基本原理是将每一位十进制数用4位...
1. **数学运算**:JScience提供了高级数学函数,如复数运算、矩阵和向量操作、数值积分、微积分、概率统计等,使得Java开发者可以在程序中进行复杂的数学计算。 2. **物理量与单位**:JScience支持国际单位制(SI)...
通过阅读和理解这个代码,开发者可以学习到如何处理特定的财务数据转换问题,以及如何在Java中编写高效的字符串处理和映射查找算法。 总结来说,将汉字大写金额转换为数字类型是一个常见的财务编程任务,它涉及到...
#### 二、货币计算中的二进制浮点数问题 **标题与描述中的知识点:** 这部分内容涉及到Java中使用二进制浮点数进行货币计算时可能出现的问题。 **详细说明:** 货币计算通常需要非常高的精度,但二进制浮点数无法...
### JAVA解惑中的关键知识点解析 ...3. **浮点数的精度问题**:使用浮点数进行精确计算时需格外小心,尤其是货币计算,最好使用`BigDecimal`类来避免精度问题。 这些知识点对于理解和编写高质量的Java程序至关重要。
通过阅读和理解这些代码,你可以学习到如何在Java中实现面向对象编程,处理时间和金钱的计算,以及如何设计和组织类的结构。 总的来说,这个Java实验提供了一个实践性的机会,让你深入理解Java编程语言,同时也能...
在实现过程中,需要将年利率转换为月利率,同时确保所有的计算结果精确到小数点后几位,避免因为浮点数运算导致的精度问题。这可能需要用到`BigDecimal`类来处理高精度计算。 接下来,我们关注用户界面设计。在JAVA...
`Money`类支持精确的数值运算,避免了浮点数计算中可能出现的精度问题。此外,`Money`还支持不同的货币代码(如ISO 4217),确保了全球货币的正确表示。 ### 2. 创建与初始化 创建`Money`对象可以通过以下几种方式...
在上述示例中,尝试计算找零金额时,使用了`System.out.println(2.00 - 1.10);`。尽管期望输出是0.90,但实际上输出的是0.***。这是因为1.10不能被精确表示为二进制浮点数,所以在计算机中存储的是最接近的值。 ...
在财务报告或银行系统中,将阿拉伯数字金额转换为中文大写金额是一个常见的需求,这不仅提高了信息的可读性,还增强了数据的安全性,因为在金融领域,对于大额交易的书写和审核更为严谨,使用中文大写金额形式可以...
Java POI 读取 Excel 中数值精度损失问题解决 Java POI 读取 Excel 中数值精度损失问题解决是指在使用 Java POI 读取 Excel 文件时,遇到数值精度损失的问题。这种问题的出现是因为 Excel 中的数值单元格在读取时,...
为了避免这类问题,建议在处理货币等需要精确计算的场景时,使用整数类型如`int`或`long`来存储货币金额(以分为单位),并避免使用浮点数。 ```java public class Change { public static void main(String[] ...
`HongBao`类中的`hb`方法采用`BigDecimal`处理精度问题,这在处理货币计算时非常重要,因为它可以避免浮点数计算中的精度丢失问题。测试方法`testHonbao`模拟了抢红包的场景,调用`hb`方法分配红包。 以上三种实现...
首先,`BigDecimal`是Java中的一个核心类,用于进行精确的浮点数运算。在处理金钱和贷款计算时,由于浮点数运算可能存在精度问题,使用`BigDecimal`可以避免因四舍五入导致的误差,确保计算结果的准确性。例如,在...