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
Libérer: 2024-12-23 18:21:10
original
711 Les gens l'ont consulté

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
Copier après la connexion

Solution :

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

v = (float)s / t;
Copier après la connexion

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
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal