<br><br><div class="gmail_quote">El 11 de mayo de 2012 15:11, User <span dir="ltr"><<a href="mailto:usuarioanonimomysql@gmail.com" target="_blank">usuarioanonimomysql@gmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hola,<br><br>Estoy tratando de trabajar con números pequeños, tengo estas operaciones:<br><br>double dou1 = (2*90)/(56*78*43);<br>double dou2 = 2500;<br>double dou3 = dou1 * dou3;<br>cout << "dou3: " << dou3 << endl;<br>


<br>dou3 vale 0 cuando debería valer aproximadamente 2.39.<br><br>¿Cómo puedo hacer para que tenga más precisión?<br><br>Saludos.<br></blockquote><div><br>Hola! Mira a mi me funciona asi....<br><br>double dou3 = dou1 * dou3;<br>

Fijate que declaras dou3, y luego le asignas dou1 *dou3. <br>El proceso es:<br>*Se crea la variable dou3 que su valor sera el que este en ese momento en ese lugar de momeria<br>*Le multiplicas dou1 por un dou3 que no sabes que valor tiene.<br>

*Le asignas ese valor a dou3<br><br>Por lo que aunque te de cero, por que tengas memoria limpia y libre, el resultado no esta definido<br><br>double dou1 = double(2.0*90.0)/double(56.0*78.0*43.0);<br>double dou2 = 2500;<br>

double dou3 = dou1 * dou2;<br>cout << "dou3: " << dou3 << endl;<br><br>Asi te funcionara....(:<br></div></div>