我有
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
但是当从数据库检索值时,它会使用
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
请告诉我我的代码有什么问题。
提前致谢。
通常,如果要显示 2 位小数,则必须将其存储在数据库中至少 3 位,并且应用程序中处理它的变量也需要 3 位小数。