Maison >Java >javaDidacticiel >Comment puis-je obtenir un résultat à virgule flottante à partir d'une division entière en Java ?

Comment puis-je obtenir un résultat à virgule flottante à partir d'une division entière en Java ?

DDD
DDDoriginal
2024-12-06 08:07:10550parcourir

How Can I Get a Floating-Point Result from Integer Division in Java?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn