Comment diviser deux entiers pour obtenir un double?
Vous voulez lancer les numéros:
double num3 = (double)num1/(double)num2;
Remarque: Si l'un des arguments de C # est un double
, une division double
est utilisée, ce qui donne un double
. Donc, ce qui suit fonctionnerait aussi:
double num3 = (double)num1/num2;
Pour plus d'informations, voir:
Compléter la réponse de @ NoahD
Pour avoir une plus grande précision, vous pouvez convertir en décimal:
(decimal)100/863
//0.1158748551564310544611819235
Ou:
Decimal.Divide(100, 863)
//0.1158748551564310544611819235
Les doubles sont représentés en allouant 64 bits tandis que les décimales en utilisent 128
(double)100/863
//0.11587485515643106
Pour plus de détails sur la représentation en virgule flottante en binaire et sa précision, jetez un oeil à cet article de Jon Skeet où il parle de floats
et doubles
et this un où il parle de decimals
.
jette les nombres entiers en doubles.
Convertissez l'un d'entre eux en double premier. Ce formulaire fonctionne dans plusieurs langues:
real_result = (int_numerator + 0.0) / int_denominator
var firstNumber=5000,
secondeNumber=37;
var decimalResult = decimal.Divide(firstNumber,secondeNumber);
Console.WriteLine(decimalResult );