sqlite android如何正确计算这个SQL?

时间:2017-03-03 10:26:02

标签: android sqlite select

上面我举了一个例子来理解我的问题:

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    String sql = "SELECT \n" +
            "CAST(22955 AS REAL)*3.95";
    SQLiteDatabase db = openOrCreateDatabase("db_test",SQLiteDatabase.OPEN_READWRITE,null);
    Cursor c = db.rawQuery(sql,null);
    if(c.moveToFirst())
    {
        TextView tv = (TextView)findViewById(R.id.test);
        tv.setText(c.getString(0));
        Log.i("test",c.getString(0));
    }
    c.close();
}

}

预期的结果是90672.25但是android返回90672.2

1 个答案:

答案 0 :(得分:0)

它工作正常..我在SQLite Manager中测试了它并返回90672.25

但是,如果您可以使用printf强制它返回最多2位小数。

SELECT printf("%.2f", CAST(22955 AS REAL)*3.95) from tablename;

这将始终将结果返回到小数点后2位。