sca*_*and 11 android integer division
在我的数据库中,我有几个"真实"字段.
继承人的结构:
database.execSQL("create table " + TABLE_LOGS + " ("
+ COLUMN_ID + " integer primary key autoincrement,"
+ COLUMN_ID_DAY_EXERCISE + " integer not null,"
+ COLUMN_REPS + " integer not null"
+ COLUMN_WEIGHT + " real not null"
+ COLUMN_1RM + " real not null"
+ COLUMN_DATE + " integer not null"
+ ")");
Run Code Online (Sandbox Code Playgroud)
现在我要做的是计算1RM,以便我可以将它插入数据库.
到目前为止,这是我的功能:
public void createLog(long id_day_exercise, float reps, long weight) {
// create 1rm
// create date timestamp
float onerm = weight/(1.0278-(.0278*reps));
long unixTime = System.currentTimeMillis() / 1000L;
}
Run Code Online (Sandbox Code Playgroud)
我被困在这里.它给了我错误"无法从double转换为float" onerm.我已经尝试通过在它前面使用(Float)将重量作为浮点数投射,我尝试使用weight.floatValue()并且似乎没有任何效果.
WLi*_*Lin 28
你试过这个吗?
float onerm = (float) (weigth/(1.0278-(.0278*reps)));
Run Code Online (Sandbox Code Playgroud)
Ahm*_*aza 14
这种方法怎么样?
Float.valueOf(String.valueOf(your_double_variable));
Run Code Online (Sandbox Code Playgroud)
从double转换为float可以像这样完成:
double d = 1.2;
float f = (float) d;
Run Code Online (Sandbox Code Playgroud)
或者,如果您只需要表示1.2为浮点数,则使用1.2f。
注意
float是单精度32位,double是双精度64位,因此有可能在转换中失去精度。请参阅原始数据类型文档。| 归档时间: |
|
| 查看次数: |
30151 次 |
| 最近记录: |