Conversion d'une division entière en résultat flottant
Dans certains scénarios de programmation, il peut être souhaitable d'obtenir un résultat à virgule flottante à partir d'une division entière. Considérons le code suivant :
class CalcV { float v; float calcV(int s, int t) { v = s / t; return v; } } public class PassObject { public static void main(String[] args) { int distance = 4; int t = 3; float outV; CalcV v = new CalcV(); outV = v.calcV(distance, t); System.out.println("velocity : " + outV); } }
Dans ce code, bien que s et t soient de type int, l'opération de division v = s/t produit un résultat int. Pour obtenir un résultat à virgule flottante, nous devons contraindre l'un des opérandes à un flottant.
La solution réside dans la conversion de s ou de t en flottant avant d'effectuer la division :
v = (float)s / t;
Le casting a une priorité plus élevée que la division, garantissant que s est converti en flotteur avant l'opération. Cela oblige effectivement Java à traiter la division comme une opération à virgule flottante, même si un opérande (t) reste un entier.
En suivant cette approche, nous obtenons un résultat à virgule flottante v comme souhaité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!