Maison >Java >javaDidacticiel >Comment puis-je m'assurer que la division entière en Java produit un résultat à virgule flottante ?

Comment puis-je m'assurer que la division entière en Java produit un résultat à virgule flottante ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-23 18:21:10657parcourir

How Can I Ensure Integer Division in Java Produces a Floating-Point Result?

Surmonter les limitations de division d'entiers

En programmation, la division de deux entiers aboutit souvent à un autre entier, tronquant tout reste. Cela devient gênant lorsque vous avez besoin d'un résultat à virgule flottante. Explorons comment modifier le code pour garantir que la division de deux entiers produit un flottant à la place.

Code original :

class CalcV {
  float v;
  float calcV(int s, int t) {
    v = s / t;
    return v;
  } //end calcV
}

public class PassObject {

  public static void main (String[] args ) {
    int distance;
    distance = 4;

    int t;
    t = 3;

    float outV;

    CalcV v = new CalcV();
    outV = v.calcV(distance, t);

    System.out.println("velocity : " + outV);
  } //end main
}//end class

Solution :

Pour obtenir un résultat flottant, convertissez l'un des opérandes en flottant avant d'effectuer la division :

v = (float)s / t;

Le casting a une priorité plus élevée que la division, garantissant que le casting est exécuté en premier. L'autre opérande est automatiquement converti en flottant par le compilateur car les opérations de type mixte entraînent des opérations à virgule flottante.

Code mis à jour :

class CalcV {
  float v;
  
  float calcV(int s, int t) {
    v = (float)s / t;
    return v;
  } //end calcV
}

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