Obtenez une double valeur en divisant deux entiers en C#

Luqman Khan 12 octobre 2023
  1. Division avec type de données entier en C#
  2. Utilisez le mot-clé Double pour obtenir une valeur double en divisant deux entiers en C#
  3. Utilisez decimal.ToDouble pour obtenir une valeur double en divisant deux entiers en C#
Obtenez une double valeur en divisant deux entiers en C#

Cet article traite de la division de deux nombres entiers et de l’obtention de résultats sous la forme d’un type de données double.

Division avec type de données entier en C#

L’application de l’opération de division sur le type de données entier ne nous donne que le résultat d’une division complète et ignore toutes les valeurs après la virgule décimale.

L’image ci-dessous montre la division des valeurs de type de données entier. Par exemple, nous divisons deux nombres, 30 et 7, avec des types de données entiers.

code_integegers

Lorsque nous essayons de diviser les deux valeurs avec des types de données entiers, l’opération de division obtient les premières valeurs avant les décimales. Comme dans notre cas, lorsque nous avons divisé 30 par 7, l’opération nous donne seulement 4 comme quotient de 30/7 car elle ignore toutes les valeurs restantes après les décimales.

Utilisez le mot-clé Double pour obtenir une valeur double en divisant deux entiers en C#

Pour surmonter ce problème et inclure les valeurs du résultat après la virgule décimale, nous devons convertir le type de données d’entiers en double. Avec les types entiers, il est directement impossible d’obtenir la réponse complète avec des décimales.

Ainsi, lorsque nous convertissons notre valeur entière en double en utilisant uniquement (double), elle inclura toutes les valeurs après la virgule décimale, ce qui nous donnera le résultat complet de la division.

code_double

Utilisez decimal.ToDouble pour obtenir une valeur double en divisant deux entiers en C#

Lorsque nous avons converti n1 et n2 en double en utilisant le mot-clé double au début et appliqué l’opération de division entre les opérandes, n1 et n2, nous avons obtenu une réponse complète de division 30 par 7 sous la forme 4,28571428571429.

Dans le code ci-dessous, nous avons utilisé decimal.ToDouble pour convertir une valeur entière en double avant d’appliquer l’opération de division. Lorsque nous utilisons toutes ces valeurs comme types de données doubles, il sera utile d’obtenir de bons résultats.

décimal_double

Vous trouverez ci-dessous la partie de code complète utilisée dans cet article.

using System;

public class Division {
  public static void Main(string[] args) {
    int n1, n2;
    n1 = 30;
    n2 = 7;
    int result = n1 / n2;
    Console.WriteLine("result of normal integer division:" + result + "\n");
    double res = decimal.ToDouble(n1) / decimal.ToDouble(n2);
    Console.WriteLine("result by converting to double through decimal.ToDouble() is " + res + "\n");
    res = (double)n1 / (double)n2;
    Console.WriteLine("result by converting to double through (double) is " + res + "\n");
    Console.Read();
  }
}

Chaque fois que nous devons appliquer une division, notre préférence devrait être de vérifier le type de données des opérandes. Si les types de données sont des entiers, cela peut entraîner une erreur de calcul.

Nous pouvons dire que c’est une erreur logique, et nous n’obtiendrons pas de réponse précise, c’est donc risqué avec des calculs scientifiques qui peuvent causer un problème grave. Il est déjà effacé pour éviter les problèmes liés aux calculs sensibles ; nous devons nous assurer de son type de données.

Il devrait être double pour avoir des résultats précis. Le type de données principal restera entier ; nous utilisons le type de données double pour obtenir des résultats précis.

Article connexe - Csharp Math