上面我举了一个例子来理解我的问题:
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
答案 0 :(得分:0)
它工作正常..我在SQLite Manager中测试了它并返回90672.25
但是,如果您可以使用printf强制它返回最多2位小数。
SELECT printf("%.2f", CAST(22955 AS REAL)*3.95) from tablename;
这将始终将结果返回到小数点后2位。