У меня есть поле EditText, где пользователь может ввести свой вес в килограмме, то есть 11.7. Я хочу сохранить это в базе данных в виде граммов, т. Е. 11700.Как преобразовать десятичный ввод в int?
Как преобразовать строку «11.7» в Integer 11700?
У меня есть поле EditText, где пользователь может ввести свой вес в килограмме, то есть 11.7. Я хочу сохранить это в базе данных в виде граммов, т. Е. 11700.Как преобразовать десятичный ввод в int?
Как преобразовать строку «11.7» в Integer 11700?
Чтобы получить значение из EditText
использования http://developer.android.com/reference/android/widget/EditText.html#getText()
String userInput = editText.getText().toString();
Для преобразования a Строка в двойном использовании код от @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 в г:
long gramms = Math.round(kg * 1000);
Вы могли бы заменить двойные и долго с поплавком и Int, если вы знаете, что вам не нужна точность или диапазон больших величин.
Я не уверен, что это имеет отношение к Android?
int grams = (int)(kg * 1000);
Чтобы получить текст из EditText
EditText mEdit = (EditText)findViewById(R.id.edittext);
double kg = Double.parseDouble(mEdit.getText().toString());
вы должны разобрать его в целое, длинное или двойной. Я думаю, в вашем случае вы можете сделать это
double grams = Double.parseDouble("11.7") * 1000;
double variable_name = Double.parseDouble(string_name) * number_you_want_to_multiply_with;
и это даст двойное значение. Таким образом, вы можете преобразовать его в целое, длинное или сохранить, как оно есть в вашем db.
преобразовать двойным долго вы можете сделать что-то вроде этого:
long value = (long)(grams);
Надеется, что это помогает вам,
Правильно, на самом деле ничего, речь идет о Java. Но как мне получить килограмм из строки EditText в вашей формуле? – mrd
Я отредактировал свой ответ. Я думаю, у вас теперь есть все – Fixus
@mrd помогло? – Fixus