android - periodico - convertir fracciones a decimales y viceversa
Obtener el número decimal del texto de edición (3)
Solo haz esto:
double S0 = Double.parseDouble(textS0.getText().toString());
Sé que ya se me ha pedido algo similar, pero estoy teniendo problemas para obtener un número decimal que provenga del teclado.
Mi código Java en el método onCreate debería ser:
textS0 = (EditText)findViewById(R.id.editS0);
Button btn_S0 = (Button)findViewById(R.id.getS0);
btn_S0.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
//how should I get here the number from keyboard?
//I think I should be something like
//double S0=textS0.getText()....
}
});
Y eso es lo que mi archivo XML contiene
<EditText
android:id="@+id/editS0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/S0"
android:inputType="numberDecimal" />
<Button
android:id="@+id/getS0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/setS0" />
</LinearLayout>
textS0=(EditText)findViewById(R.id.editS0);
Button btn_S0=(Button)findViewById(R.id.getS0);
btn_S0.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
double S0 = Double.parseDouble(textS0.getText().toString());
}
});
Puede b enfrentar la excepción de puntero nulo en la cadena, así que intente esto ...
obtener el número decimal del texto de edición usando este
Double BText=ParseDouble(String.valueOf(edittext.getText()));
después de eso pega este código ... te evita la excepción del puntero nulo
double ParseDouble(String strNumber) { if (strNumber != null && strNumber.length() > 0) { try { return Double.parseDouble(strNumber); } catch(Exception e) { return -1; } } else return 0; }