我有一个csv文件,其中的数量和数量字段出现在每个明细记录中,除了标题和预告记录。预告片记录具有总计费用值,这是总额详细记录中乘以数量字段的总和。我需要检查拖车总费用值是否等于我的数量和数量字段的计算值。我为所有这些计算使用双数据类型。当我浏览时,我能够从下面的网页链接了解到,它可能会在使用双数据类型时与小数点进行比较时产生问题。它建议使用的BigDecimal关于BigDecimal
http://epramono.blogspot.com/2005/01/double-vs-bigdecimal.html
我会得到的问题,如果我使用双数据类型。我如何使用BigDecimal进行计算。另外我不确定在csv文件中小数点后我会得到多少位数。金额也可以有正值或负值。
在csv文件
H,ABC ..... “d”,..., “1”, “12.23” “d”,..., “3” ,“ - 13.334” “D”,......,“2”,“12” T,csd,123,12.345
-------------- ----------------虽然验证我有以下代码--------------------
double detChargeCount =0;
//From csv file i am reading trailer records charge value
String totChargeValue = items[3].replaceAll("\"","").trim();
if (null != totChargeValue && !totChargeValue.equals("")) {
detChargeCount = new Double(totChargeValue).doubleValue();
if(detChargeCount==calChargeCount)
validflag=true;
-----------------------在阅读CSV文件时,我有以下代码
if (null != chargeQuan && !chargeQuan.equals("")) {
tmpChargeQuan=Long(chargeQuan).longValue();
}
if (null != chargeAmount && !chargeAmount.equals("")) {
tmpChargeAmt=new Double(chargeAmount).doubleValue();
calChargeCount=calChargeCount+(tmpChargeQuan*tmpChargeAmt);
}
I had declared the variables tmpChargeQuan, tmpChargeAmt, calChargeCount as double
非常感谢您的信息 – Arav 2010-02-23 22:49:05