Kotlin convertir float a String (DecimalFormat, toString).

En este tutorial se explica como convertir una variable tipo flotante o doble a String. Existen varias maneras de lograrlo. En este tutorial explicamos 3 formas diferentes para convertir a String. Se usará Decimal Format que consideremos es la mejor opción, además toString y otra forma adicional.

En la siguiente imagen podemos ver las 3 maneras de convertir que se explicarán en este tutorial.

DecimalFormat kotlin

Kotlin to String.

La función toString, nos ayuda a convertir practicamente cualquier tipo de variable a una tipo String. Pero si tenemos una variable con punto decimal, entonces nos convertirá todos los decimales a String.

Y si con más de 3 digitos, no usará nada para separar los miles, es decir, no da formato a los números solo los convierte a String.

La sintaxis es muy simple, solo se escribe .toString() después de la vairiable a convertir y listo.


var valor = 1232.247   

var res = valor.toString()

println(res + " \t-> toString:")                    //Resultado: 1232.247

 

Vemos como la variable valor se convierte a String tal y como esta.

Kotlin DecimalFormat, formato para convertir a String.

Una forma sencilla de elegir la cantidad de decimales al convertir una variable a String, es el siguiente:


var valor = 1232.247

res = "%.2f".format(valor)

println(res + " \t-> Formato")     //Resultado:  1232.25

Ahora indicamos que queremos solo 2 decimales con “%.2f”. Vemos que se redondea el valor. En la siguiente imagen vemos otro ejemplo.

Kotlin float to string 2 decimales

Kotlin Decimal Format.

La mejor forma de convertir un numero a variable tipo String, es usando DecimalFormat, una función de la librería java.text.

Con esta es posible indicar la cantidad de números después del punto decimal. También es posible agregar un separador de miles, o bien un separador en cualquier zona que queramos, como se muestra en la siguiente imagen:

Formato float to string kotlin

Vemos que con DecimalFormat en Kotlin es sencillo converitr un número a String y da muy buenos resultados ya que podemos personalizar el fromato del número. Decimal format también redondea los números decimales.

Además podemos agregar distintoas palabras o caracteres para no tener que concatenar despues de convertir el número.


var valor = 1232.247

val df = DecimalFormat("Precio: $ #,###.##")

res = df.format(valor)

println( res + " \t-> Decimal Format")     //Resultado: Precio: $ 1,232.25

El signo de pesos y la palabra precio (Precio: $) no son ninguna función especial, simplemente se colocan antes del número y ahí aparecen, como cualquier otra letra o carácter que queramos agregar al resultado.

Para más tutoriales de Kotlin ve a este enlace.

Algunos temas que pueden ser de su interés: