0

#Dica – Separador para EditText do tipo NumberDecimal

#Kotlin #Android
D
Dilton Santos

Quero compartilhar uma solução simples que encontrei no StackOverflow para fazer o campo do tipo NumberDecimal do seu aplicativo aceitar “,” (vírgula) ou “.” (ponto) como separador.

No xml da Activity você adiciona ao EditText as propriedades “inputType” e “digits" da seguinte forma:


<EditText
android:inputType="numberDecimal"
android:digits="0123456789.,$" />


Então, no método em que o EditText vai ser usado, você pode transformá-lo em string usando o método “toString()” e em sequência utilizar o método “replace()” para substitui a vírgula pelo ponto. Para então poder realizar suas operações usando os métodos “toDoubleOrNull()” ou “toFloatOrNull()”. Veja um exemplo:


fun onCreate(savedInstanceState: Bundle?) {
…
numberEditText = findViewById(R.id.EditText)

funcaoQueUsaEditText(numberEditText.text.toString())
}

fun funcaoQueUsaEditText(number: String) {
number = number.replace(“,” , “.”).toDoubleOrNull()
// faz qualquer coisa
}


Foi mais ou menos assim que fiz na aplicação para calcular IMC ensinado no bootcamp e deu certo. Veja aqui: https://github.com/bronx92/Calculadora-de-IMC/blob/main/app/src/main/java/com/bronx92/imccalc2/MainActivity.kt


Se você tem outra forma de fazer isso, compartilhe conosco!

0
2

Comentários (0)

None

Brasil