我有一个EditText字段,用户可以用千克输入他的体重,即11.7。我希望将其作为语法存储在数据库中,即11700。
如何转换String" 11.7"到整数11700?
答案 0 :(得分:1)
从EditText
使用http://developer.android.com/reference/android/widget/EditText.html#getText()
String userInput = editText.getText().toString();
要将String转换为double,请使用@govindpatel http://developer.android.com/reference/java/lang/Double.html#parseDouble(java.lang.String)中的代码
try {
double kg = Double.parseDouble(userInput)
}
catch (NumberFormatException nfe) {
editText.setError(R.string.invalid_double); // Or whatever you want to show the user
}
要从KG转换为g:
long gramms = Math.round(kg * 1000);
如果你知道你不需要更大变量的精度或范围,你可以用float和int替换double和long。
答案 1 :(得分:0)
我不确定它与Android有什么关系?
int grams = (int)(kg * 1000);
从EditText
EditText mEdit = (EditText)findViewById(R.id.edittext);
double kg = Double.parseDouble(mEdit.getText().toString());
答案 2 :(得分:0)
你必须将它解析为int,long或double。 我认为在你的情况下你可以做到这一点
double grams = Double.parseDouble("11.7") * 1000;
double variable_name = Double.parseDouble(string_name) * number_you_want_to_multiply_with;
这将给出一个双倍的价值。因此,您可以将其转换为整数,长整数或保持在数据库中。
要将double转换为long,您可以执行以下操作:
long value = (long)(grams);
希望这会对你有所帮助,