Java 如何在android studio中将十进制数拆分为两个TextView
我正在从事这个android应用程序开发项目。我想把像2.91这样的十进制数字分成两个Java 如何在android studio中将十进制数拆分为两个TextView,java,android-studio,Java,Android Studio,我正在从事这个android应用程序开发项目。我想把像2.91这样的十进制数字分成两个TextView,每个TextView都是数字的一部分 像第一个TextView取2,第二个TextView取91,不带小数点 这是我的密码: Test.Java public class Test extends AppCompatActivity { Button btSpilt; EditText Input; TextView wholenumber, points; private double d
TextView
,每个TextView
都是数字的一部分
像第一个TextView
取2,第二个TextView
取91,不带小数点
这是我的密码:
Test.Java
public class Test extends AppCompatActivity {
Button btSpilt;
EditText Input;
TextView wholenumber, points;
private double d;
private long a, b;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
btSpilt = findViewById(R.id.Test);
btSpilt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
double d = Input.getText();
long a = (long) d;
double f = d - a;
while (Math.abs((long) f - f) > 0.000001) f *= 10;
long b = (long) f;
wholenumber.setText((int) a);
points.setText((int) b);
}
});
}
}
活动测试.xml
<EditText
android:id="@+id/Input"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="input"
android:inputType="numberDecimal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:layout_editor_absoluteY="76dp" />
<Button
android:id="@+id/btSpilt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Split"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:layout_editor_absoluteY="146dp" />
<TextView
android:id="@+id/wholenumber"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Whole Number"
android:textSize="25sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:layout_editor_absoluteY="244dp" />
<TextView
android:id="@+id/points"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Points"
android:textSize="25sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.55" />
欢迎来到StackOverflow。
如果我理解正确的话,您的具体问题是要将输入的双精度分为十进制和整数部分。
您可以通过以下方式完成:
String[]number=Input.getText().toString().split(“.”)代码>
因此,您可以像这样重写您的方法:
public void onClick(View v) {
String[] number = Input.getText().toString().split(".");
wholenumber.setText(number[0]);
points.setText(number[1]);
}
但是,您会注意到,对于非十进制数字,number[1]
可能返回null
。所以你可能需要注意这个特殊的情况
希望这有帮助欢迎使用SO。在发布问题之前,您必须对自己的部分进行一些研究。:)您可以简单地使用EditText中的文本,然后使用正则表达式拆分字符串。因此,您可以使用Input.getText().toString().split(“.”
获得一个由两个字符串组成的数组,分别包含这两个数字。您的问题是什么?