No estoy seguro de si soy yo o qué, pero tengo problemas para convertir un doble en una cadena.
Aquí está mi código:
double total = 44;
String total2 = Double.toString(total);
¿Estoy haciendo algo mal o me estoy perdiendo un paso aquí?
Me da error NumberFormatException
al intentar convertir esto.
totalCost.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
try {
double priceG = Double.parseDouble(priceGal.getText().toString());
double valG = Double.parseDouble(volGal.toString());
double total = priceG * valG;
String tot = new Double(total).toString();
totalCost.setText(tot);
} catch(Exception e) {
Log.e("text", e.toString());
}
return false;
}
});
Estoy tratando de hacer esto en un onTouchListener. Publicaré más código, básicamente cuando el usuario toca el cuadro de edición de texto, quiero que la información calcule y complete el cuadro de edición de texto.
Respuestas:
Esto convertirá doble a String
fuente
NumberFormat fmt = NumberFormat.getInstance(); fmt.setGroupingUsed(false); fmt.setMaximumIntegerDigits(999); fmt.setMaximumFractionDigits(999);
luego usetotal2 = fmt.format(total)
Double.toString()
. No estoy seguro de cómo responde la pregunta.Usando Double.toString (), si el número es demasiado pequeño o demasiado grande, obtendrá una notación científica como esta: 3.4875546345347673E-6. Hay varias formas de tener más control del formato de cadena de salida.
Usar String.format () será la mejor manera conveniente.
fuente
Este código compila y funciona para mí. Convierte un doble en una cadena utilizando las llamadas que intentó.
Me sorprende que veas la NumberFormatException. Mira el rastro de la pila. Supongo que tiene otro código que no está mostrando en su ejemplo que está causando que se arroje esa excepción.
fuente
La excepción probablemente proviene de las llamadas parseDouble (). Verifique que los valores dados a esa función realmente reflejen un doble.
fuente
funciona. Tiene que ser repetitivo.
fuente
Kotlin
Puede usar
.toString
directamente en cualquier tipo de datos en kotlin, comofuente
este código funciona
fuente
Double.toString()
llamadasString.valueOf(double)
que llamadasDouble.toString(double)
. Loco, ¿eh?Uno de ellos es lanzar la excepción. Debe agregar un poco de registro / impresión para ver qué hay dentro
volGal
ypriceGal
no es lo que piensa.fuente
String
correos electrónicos no es una representación válida de,double
por lo que obtienes esa excepción.Double.toString(total);
No se puede lanzar una excepción. Nunca. . Cambiaste lo quenew Double(total).toString();
tampoco puedes y si ves la respuesta aquí que ha sido rechazada, no es algo que quieras hacer.double.toString()
Deberia trabajar. No el tipo de variableDouble
, sino la variable en sídouble
.fuente
Solo usa lo siguiente:
Esto funcionará para cualquier tipo de datos.
Ejemplo:
fuente
Usa la
StringBuilder
clase, así:Obtendrá la salida deseada.
fuente
¿Qué tal cuando haces el
Solo lo haces
Donde el "" + <variable> lo convertirá en cadena automáticamente
fuente
Información completa
Puede usar String.valueOf () para float, double, int, boolean, etc.
fuente
Hay tres formas de convertir el doble a String .
"" + d
clase pública DoubleToString {
}
Cadena para doblar
fuente