SQLite检索带有2个小数位的数字

时间:2013-06-06 07:03:47

标签: android sqlite

我有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

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

提前致谢。

1 个答案:

答案 0 :(得分:0)

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