Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Conversion Char a Float

Estas en el tema de Conversion Char a Float en el foro de C/C++ en Foros del Web. hola a todos soy nuevo en el foro y espero me puedan colaborar.. estoy intentando hacer una conversion de unsigned char a un float para ...
  #1 (permalink)  
Antiguo 30/07/2012, 13:00
 
Fecha de Ingreso: julio-2012
Mensajes: 3
Antigüedad: 11 años, 8 meses
Puntos: 0
Conversion Char a Float

hola a todos soy nuevo en el foro y espero me puedan colaborar..


estoy intentando hacer una conversion de unsigned char a un float para posteriormente sumarlo con otro float. el problema surge en la conversion.

Intento realizar lo siguiente:

//iva equivale a "0.3"

atof(iva);

pero me retorna en la conversion "1.65".

al hacer la conversion con un numero que no empieze por cero funciona pero con el 0 no anda. espero me puedan colaborar

gracias
  #2 (permalink)  
Antiguo 30/07/2012, 13:41
 
Fecha de Ingreso: julio-2012
Mensajes: 133
Antigüedad: 11 años, 9 meses
Puntos: 22
Respuesta: Conversion Char a Float

Hola egonzalias.

No entiendo por que te dá ese resultado...

Este código:
Código C:
Ver original
  1. ...
  2. int main(void){
  3.     char *iva = "0.3";
  4.  
  5.     printf("char* : %s \nfloat : %0.2f\n", iva, atof(iva));
  6.     getchar();
  7.     return 0;
  8.  }
A mi me muestra:
Cita:
char * : 0.3
float : 0.30
Saludos.
  #3 (permalink)  
Antiguo 30/07/2012, 14:13
 
Fecha de Ingreso: julio-2012
Mensajes: 3
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Conversion Char a Float

Hola ecfisa muchas gracias por responder.

es lo mismo que estoy haciendo y si es muy raro, copie y pegue tu codigo y mi respuesta fue esta:

char * : 0.3
float : 2f

:/
  #4 (permalink)  
Antiguo 30/07/2012, 14:14
 
Fecha de Ingreso: julio-2012
Mensajes: 3
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Conversion Char a Float

Hola ecfisa muchas gracias por responder.

es lo mismo que estoy haciendo y si es muy raro, copie y pegue tu codigo y mi respuesta fue esta:

char * : 0.3
float : 2f

:
  #5 (permalink)  
Antiguo 30/07/2012, 15:12
 
Fecha de Ingreso: julio-2012
Mensajes: 133
Antigüedad: 11 años, 9 meses
Puntos: 22
Respuesta: Conversion Char a Float

Hola egonzalias.

Es realmente extraño, ¿ No olvidaste el "%0." antes de "f" ?

Proba de este modo:
Código C:
Ver original
  1. ...
  2. int main(void){
  3.     char *iva = "0.3";
  4.  
  5.     printf("char* : %s",iva);
  6.     printf("\nfloat : %f", atof(iva));
  7.     getchar();
  8.     return 0;
  9.  }
Para simplificar, quité el formato de salida para el float, ahora tendrías que obtener algo como:
Cita:
char* : 0 .3
float : 0.300000
Saludos.

Última edición por ecfisa; 30/07/2012 a las 15:28 Razón: ortografía
  #6 (permalink)  
Antiguo 31/07/2012, 10:03
Avatar de cronopiomx  
Fecha de Ingreso: mayo-2012
Ubicación: Programing Cloud
Mensajes: 282
Antigüedad: 11 años, 11 meses
Puntos: 28
Respuesta: Conversion Char a Float

Hola, que IDE usas, dale un clean a tu solucion y despues un build solutions, aca funciona bien.

s2
cronos
  #7 (permalink)  
Antiguo 06/08/2012, 21:38
 
Fecha de Ingreso: septiembre-2003
Mensajes: 20
Antigüedad: 20 años, 7 meses
Puntos: 2
Respuesta: Conversion Char a Float

Si usas C++ estándar puedes usar la clase stringstream tiene que agregar el include <sstream>

Ejemplo:
Código:
#include <sstream>  
#include <iostream>

using namespace std;

int main(int argc, char* argv[])
{
	float result = 0;

	stringstream ss;

	ss << "10.5";

	ss >> result;

	cout << result << endl;

	return 0;
}
Saludos

Etiquetas: atof, conversion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:21.