如何将十进制输入转换为int?

时间:2015-07-23 12:22:26

标签: android string integer

我有一个EditText字段,用户可以用千克输入他的体重,即11.7。我希望将其作为语法存储在数据库中,即11700。

如何转换String" 11.7"到整数11700?

3 个答案:

答案 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);

希望这会对你有所帮助,