我正在寻找一种从一个EditText获取三个浮点值的方法。我看过开发者页面,但我找不到最符合我需要的东西。我想得到三个浮点数ax,y,z从EditText的一个条目?
非常感谢大家对这个问题的答复我非常感谢。 我现在只限于计算机上的时间,但生病了,让你知道哪个答案对我有效,并且我的代码也发布了。
答案 0 :(得分:0)
如果它们被空格分开
Scanner sc = new Scanner(yourEditText.getText().toString());
float vals = new float[3];
while(int i=0; sc.hasNextFloat() && (i < 3); ++i) {
vals[i] = sc.nextFloat();
}
否则使用Scanner.setDelimiter
设置除空格之外的分隔符。
重新考虑您的设计,改为使用三个EditTexts。在手机上输入逗号等符号会很痛苦
答案 1 :(得分:0)
String value = yourEditText.getText().toString();
String[] floatStrings = value.split(",");
float[] result = new float[floatString.length];
for (int i=0; i<result.length; i++) {
result[i] = Float.valueOf(floatStrings[i];
}
答案 2 :(得分:0)
如果您希望用户输入3个单独的值,则使用3个EditText小部件,这些值将被解析为3个单独的变量。
答案 3 :(得分:-1)
您应该创建多个EditText视图,或者然后解析EditText的内容
EditText textView;
String[] splitFloatStrings = textView.getText().toString();.split(",");
float[] parsedFloats = new float[splitFloatStrings.length];
for (int i=0; i < parsedFloats.length; i++) {
parsedFloats[i] = Float.valueOf(splitFloatStrings[i];
}