在做项目中,有个涉及到金额转换的,就是把以元为单位的金额转换成以分单位。刚开始的代码是这样写的:
int fee = (int)(Float.parseFloat(feeMoney)*100);
一直没有问题,后来发现有些数字转换不对。
才知道简单浮点数型是不能进行运算的,于是改用BigDecimal。
BigDecimal feeMoneyTemp = new BigDecimal(feeMoney);
BigDecimal hundred = new BigDecimal("100");
String fee = feeMoneyTemp.multiply(hundred).toString();
if(fee.indexOf(".") != -1){
fee = fee.substring(0,fee.indexOf("."));
}
不知道这样还会出现问题不
分享到:
相关推荐
工具类里有金额转大写,数据库金额(分)转元等其他金额的处理
首先,Java处理金额时,最重要的是确保精度和格式的正确性。在Java中,浮点数(如`float`和`double`)不适合表示货币,因为它们存在精度损失。通常,我们会使用`BigDecimal`类来处理金额,它提供了精确的十进制运算...
在Java编程中,将金额小写转换为大写是一个常见的需求,特别是在财务系统或银行应用中,为了符合规范,金额通常需要以大写形式展示,防止因大小写混淆导致的错误。本文将深入探讨如何实现这个功能,并通过提供的`...
大数运算库如Java的BigInteger和Python的decimal模块,可以提供不受限制的精度,确保计算结果的准确无误。 2. **加法与减法**:对于大数,基本的加减法操作需要考虑到进位和借位,尤其是在二进制表示下,这涉及到每...
- 在每个四位数周期结束时添加相应的单位(万、亿等),并处理周期内的零字问题。 5. **构建最终字符串**:将处理后的整数部分和小数部分拼接,形成完整的中文大写金额字符串,并在整数部分末尾添加“元”,在小数...
在金额的加减乘除运算时我们往往会忽略计算结果的精度问题,导致莫名奇妙出现了过多的小数位,这在我做银行项目时尤其需要关注的一个问题点。 其实在我们使用正常的 + - * / 运算时,在某些情况下就会出现精度丢失...
在解决这个问题时,需要使用Java中的文件输入/输出流、字符串处理和数组操作等技术。 知识点2: 特殊数字 打印“水仙花数”,即一个三位数,其各位数字立方和等于该数本身。这是一个数学问题,需要使用Java中的算术...
在Java中,常用的浮点数类型有float和double,其中double类型由于其精度较高,更适合用来表示货币值,避免了浮点数运算中可能出现的精度损失问题。 接下来,要将账户金额输出到屏幕上,就需要用到Java中的输出语句...
使用`BigDecimal`可以确保计算的准确性,特别是当涉及到货币金额时。 #### 总结 通过以上两个谜题的解析,我们可以总结出以下几个重要的Java编程知识点: 1. **取模运算的特性**:在处理整数时要注意取模运算符`%`...
在进行Java编程时,许多开发者往往会忽略一些琐碎但至关重要的细节,这些细节可能在项目的开发和维护中造成不可预见的问题。为了解决这些问题,可以参考《Java Pazzlers》(Java解惑)这本书,其中对许多常见的编程...
在Java中处理浮点数时,特别是涉及小数的运算,会遇到精度问题。在上述示例中,尝试计算找零金额时,使用了`System.out.println(2.00 - 1.10);`。尽管期望输出是0.90,但实际上输出的是0.***。这是因为1.10不能被...
例如,在电商网站进行价格计算时,可以确保小数部分的正确性,防止因精度问题导致的金额计算错误。在科学计算中,高精度的BigDecimal运算也能确保实验结果的准确性。 总的来说,高精度JSBigDecimal运算库通过提供高...
本程序是为初学者设计的,旨在帮助他们了解如何利用Java语言处理实际问题,特别是涉及数学计算的问题。在这个"个人所得税收计算"项目中,我们将探讨以下几个关键知识点: 1. **基础语法与数据类型**:在编写任何...
首先,通过一个简单的奇数检测函数指出了在处理取模运算时应注意的操作数符号问题。其次,通过货币计算的例子强调了在进行金融计算时应避免使用二进制浮点数的重要性。这些知识点对于理解和优化Java程序具有重要的...
这个小程序是一个很好的起点,可以帮助初学者理解如何在Java中处理用户输入、进行基本的数学运算以及进行条件判断。同时,它也可以作为进一步扩展的基础,比如添加实时汇率更新、支持更多货币种类等功能。通过这个小...
在处理金钱和贷款计算时,由于浮点数运算可能存在精度问题,使用`BigDecimal`可以避免因四舍五入导致的误差,确保计算结果的准确性。例如,在计算贷款利息和还款金额时,`BigDecimal`的`add`、`subtract`、`multiply...
在处理货币金额时,Joda-Money会抛出适当的异常,如`MoneyFormatException`(格式化错误)、`MoneyMismatchException`(货币类型不匹配)等,帮助开发者及时发现并处理问题。 ### 8. 结合其他库 Joda-Money可以与...
- Java中金额的处理: - 为了精确处理金钱,一般使用BigDecimal类型,避免精度损失。 - Integer与int的区别: - int是基本数据类型,不能为null,而Integer是其对应的包装类,可以为null。 - int的默认值是0,而...
当处理取模运算时,需特别注意操作数和结果的符号。当操作数非负时,取模运算的行为较为直观;但当操作数包含负数时,其行为则更为复杂。在实际开发中,应仔细测试各种边界情况,确保算法的正确性。 #### 二、货币...