convertir - Conversión de Java a Double to String sin formato
double to string without decimal java (9)
Tengo el número 654987. Es una identificación en una base de datos. Quiero convertirlo en una cadena. El Double.ToString regular (valor) lo convierte en una forma científica, 6.54987E5. Algo que no quiero
Otras funciones de formateo He encontrado comprueba la configuración regional actual y agrega los separadores de miles adecuados y tal. Como es una identificación, no puedo aceptar ningún formato.
¿Cómo hacerlo?
[Editar] Para aclarar: estoy trabajando en una base de datos especial que trata todas las columnas numéricas como dobles. El doble es el único tipo (numérico) que puedo recuperar de la base de datos.
¿Qué pasa con Long.toString ((largo) valor)?
¿Qué tal String.valueOf((long)value);
Qué pasa:
Long.toString(value)
o
new String(value)
Si es un ID entero en la base de datos, use un Entero en su lugar. Luego se formateará como un entero.
Si lo que está almacenando es una identificación (es decir, algo que se usa solo para identificar a otra entidad, cuyo valor numérico real no tiene importancia), entonces no debe usar Double para almacenarlo. La precisión seguramente te atormentará.
Si su base de datos no permite valores enteros, debe almacenar los ID como cadenas. Si es necesario, haga que la cadena sea la representación de cadena del entero que desea usar. Con el uso apropiado de los ceros a la izquierda, puede hacer que el orden alfabético de la cuerda sea el mismo que el orden numérico de las entradas.
Eso debería ayudarte a resolver el problema.
También puedes usar
double value = getValue();
NumberFormat f = NumberFormat.getInstance();
f.setGroupingUsed(false);
String strVal = f.format(value);
Use Long:
long id = 654987;
String str = Long.toString(id);
Use un NumberFormat
fijo (específicamente un DecimalFormat
):
double value = getValue();
String str = new DecimalFormat("#").format(value);
alternativamente, simplemente envía a int
(o long
si el rango de valores es demasiado grande):
String str = String.valueOf((long) value);
Pero, de nuevo: ¿por qué tiene un valor entero (es decir, un número "completo") en una variable double
en primer lugar?
double d = 56789;
String s = d+"";