我有InvoiceHeader
表。
CREATE TABLE WMInvoiceHeader (
BusinessUnit char(4) NOT NULL ,
RetailerCode char(10) ,
GrossValue real,
InvoiceValue real,
TotalLineDiscount real,
TotalHeaderDiscount real,
VATValue real,
UpdatedOn datetime,
PRIMARY KEY (BusinessUnit ASC,).
当我将数据保存到数据库时,它会保存两位小数
示例:
BusinessUnit RetailerCode GrossValue InvoiceValue
Test Test1 152.65 152.65
但是当从db中检索值时,它会使用GrossValue
重新152.7
。它圆润。
查询是:
String query = "SELECT BusinessUnit,GrossValue,InvoiceValue,TotalLineDiscount,"
FROM WMInvoiceHeader
WHERE (CancelFlag IS NULL OR CancelFlag ='0') AND UploadFlag='1'";
ArrayList<?> stringList = dbAdapter.selectRecordsFromDBList(query, null);
for (int i = 0; i < stringList.size(); i++) {
ArrayList<?> arrayList = (ArrayList<?>) stringList.get(i);
ArrayList<?> list = arrayList;
grossValue = Double.parseDouble((String)list.get(7));
System.out.println(grossValue ); //give 152.7
请告诉我我的代码有什么问题。
提前致谢。
答案 0 :(得分:0)
通常,如果要显示2个小数位,则必须将其存储在至少为3的数据库中,并且在应用程序中处理它的变量也需要3个小数位。