0

我有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 中检索值时,它会GrossValue152.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

请告诉我我的代码有什么问题。

提前致谢。

4

1 回答 1

0

通常,如果要显示 2 个小数位,则必须将其存储在至少 3 个小数位的数据库中,并且在应用程序中处理它的变量也需要 3 个小数位。

于 2013-07-31T03:53:01.723 回答