[C con Clase] decimales en float

Reinel Hernández Peraza reinel en uci.cu
Dom Dic 10 14:29:28 CET 2006


Hola Rafael.

Bien, veamos, la función scanf tiene una cadena de formato, compuesta por el código de formato (esto es el tipo de datos a leer) ahora bien, este código de formato, puede tener las mismas especificaciones que la función printf, has notado como para mostrar un float ó double así 5.67 puedes hacer algo como esto:

 printf("%4.2f", valor); como verás el valor 4.2, indica que se tomarán 4 valores para mostrar la salida. De esos cuatro, dos serán decimales, uno para el punto, y el otro para la parte entera del valor, en el ejemplo 4. 

Bueno pues de igual manera puedes introducir los valores, es decir haciendo algo como:

 scanf("%4.2f", &valor);

 

Lo cual almacenará del valor introducido sólo 2 decimales, un punto y el valor entero. 

 

Ahora, lo único que debes comprobar es que me parece que al introducir valores se realiza una especie de redondeo. Creo que deberías comprobarlo.

 

Espero te sirva de ayuda.

 

Rey.

 

 

Reinel Hernández Peraza

Técnico Hardware Docente 3

Universidad Ciencias Informáticas.

"Vivimos para hacer historias, o para ser historia"

 

________________________________

De: cconclase-bounces en listas.conclase.net [mailto:cconclase-bounces en listas.conclase.net] En nombre de Rafael Roman Otero
Enviado el: Sunday, December 10, 2006 3:49 AM
Para: cconclase en listas.conclase.net
Asunto: [C con Clase] decimales en float

 

hola, estoy haciendo un sencillo programita y en parte de él necesito saber cuando un numero introducido  con scanf es multiplo de 'pi' (tomandolo como 3.1416). lo que se me habia ocurrido era hacer esto: 

nota: declaré x como float.

if(x%3.1416 == 0) entonces es multiplo

pero marcaba error por usar float con el operador %, asi que lo que hice fue esto:

int x2;

x2 = int(x*10000);

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20061210/eeeac6ea/attachment.html>


Más información sobre la lista de distribución Cconclase