Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

406
Views
¿Cómo se convierte un número entero en un flotante mientras se vinculan datos?

Tengo un Int que contiene un número decimal en unidades de décimas, por ejemplo, mi int contiene 308 para representar el número decimal 30.8 . Quiero usar el enlace de datos para mostrar este número en un TextView junto con otro texto. Mi TextView tiene la siguiente entrada de texto:

 android:text="@{String.format("my value: %.1f", @{viewModel.myValue}.toFloat()/10.0f)}"

Esto no se puede compilar con el siguiente error:

 [databinding] {"msg":"cannot find method toFloat() in class java.lang.Integer","file":"app/src/main/res/layout/fragment_you.xml","pos":[{"line0":163,"col0":54,"line1":163,"col1":84}]}

El valor en cuestión se define así:

 private val _myValue = MutableLiveData<Int>() val myValue: LiveData<Int> = _myValue

Pensé que esto significaba que era un entero de Kotlin y que podía llamar a las funciones de Kotlin, pero aparentemente es un entero de Java y no puedo.

¿Por qué no puedo llamar a toFloat() allí? ¿Cómo puedo mostrar este Int como un número decimal?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Esto podría ayudarte.

DataBindingConverter.kt

 class DataBindingConverters { companion object { @JvmStatic fun convertIntegerToFloat(value: Int?): Float { return value/10.0f } } }

importación XML

 <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <import type="com.package.DataBindingConverter" /> </data> .....

Vincular a ver

 <EditText ... android:text="@={DataBindingConverter.convertIntegerToFloat(viewModel.myValue)}" />
over 4 years ago · Santiago Trujillo Report

0

En xml, si desea utilizar la conversión, deberá hacerlo de la forma en que lo hace en JAVA

Aquí, para convertirlo en flotante, intente usar ->

 android:text="@{String.format(&quot;my value: %.1f&quot;, Float.valueOf(@{viewModel.myValue})/10.0f)}"

.toFloat se debe hacer en las clases de kotlin. En xml todavía tienes que usar JAVA

over 4 years ago · Santiago Trujillo Report

0

Creo que funcionará.

 android:text="@{String.format(&quot;my value: %.1f&quot;, @{(Float)(viewModel.myValue)}/10.0f)}"
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!