Pourquoi êtes-vous devenu accro à une chose aussi simple? Un mémorandum pour que personne ne soit accro à perdre du temps comme moi
Je m'attendais à ce que ce soit 0,25 comme une évidence ...
var rate: Double = 0.0
rate = 1 / 4
Log.v("TEST:", "rate:${rate}")
J'obtiens l'erreur de compilation suivante.
Type mismatch: inferred type is Int but Double was expected
Google Translator: "Incompatibilité de type: le type estimé est Int mais Double est obligatoire"
Wai le sait! !! !!
Hmm? Ah Σ (゚ д ゚;) ,,,, Est-ce vrai? Puisqu'il s'agit d'un calcul de Int et Int, le jugement du type du résultat du calcul était Int ... Je n'ai pas remarqué pourquoi. .. ..
Donc la solution. L'un ou les deux peuvent être associés à Double.
val num1 = 1.toDouble()
val num2 = 4.toDouble()
val aaa = num1 / num2
Log.v("TEST:", "rate = ${aaa}")
V/TEST:: rate = 0.25
Oui. Le résultat était comme prévu. Je ne peux pas arrêter de pleurer à cause de ma maladie.
Au fait ...
val aaa = (1/4).toDouble()
Log.v("TEST:", "rate = ${aaa}")
V/TEST:: rate = 0.0
Cela donne l'impression que le résultat du calcul vient en Int et est converti en Double. Le résultat attendu n'est pas renvoyé. Notez que si c'est "10/4", ce sera "2.0".
Alors, bonne vie de kotlin!
Recommended Posts