PDA

Ver la Versión Completa : decimales ...


luisito2011
20-03-2012, 16:41:28
hola..a todoj...
una ayuda.. por fa...
como puedo hacer que me muestre la cantidad
de decimales que ingreso de un numero float...

entrada
1.3333
53
1.22
salida
4
0
2

alguien me explica como hacerlo en c++ :mad:

Casimiro Notevi
20-03-2012, 18:19:49
Hola, decimales que ingresaste ¿dónde?.

Por cierto, recuerda poner títulos descriptivos a tus preguntas ;)

roman
20-03-2012, 18:22:10
Tienes que explicar más. Lo que pones como salida no tiene nada que ver con la entrada, vamos, ni siquiera es que sea un problema de redondeo.

// Saludos

_cero_
20-03-2012, 18:40:26
Trata el número como String y usa Pos para solo agarrar los decimales y Length para saber su longitud.

int NumeroDecimales( String Numero )
{
/**/
if ( !Numero.Pos( "." ) ) return 0;

return Numero.SubString( Numero.Pos( "." ) + 1, Numero.Length() ).Length();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
/**/
ShowMessage( NumeroDecimales( 1.5687 ) ); //4
ShowMessage( NumeroDecimales( 234 ) ); //0
ShowMessage( NumeroDecimales( 234.56 ) ); //2
}
Pd. Perdón por el chile con huevo en los tipos, pero esto es lo mas simple y funcional que se me ocurrió

roman
20-03-2012, 18:48:58
Ja, ja, ja. ¡Qué bárbaro! Hasta ahora que veo el mensaje de _cero_, me doy cuenta que no había entendido nada del mensaje original. Pido disculpas.

// Saludos

Casimiro Notevi
20-03-2012, 18:58:44
Ja, ja, ja. ¡Qué bárbaro! Hasta ahora que veo el mensaje de _cero_, me doy cuenta que no había entendido nada del mensaje original. Pido disculpas. // Saludos

Menos mal que hablamos el mismo idioma, porque yo tampoco lo había entendido hasta ver ese código :confused:

escafandra
20-03-2012, 20:30:52
Y si usamos DecimalSeparator:


int NumeroDecimales( String Numero )
{
if(Numero.Pos(DecimalSeparator))
return Numero.Length()- Numero.Pos(DecimalSeparator);
return 0;
}


Saludos.

luisito2011
20-03-2012, 23:30:23
perdon por no .. explicar.. con mas detalle que era lo que queria...
era contar cuantos decimales tiene un numero(TIPO FLOAT) ingresado por teclado...
ENTRADA
245.123
24
...
SALIDA
3
0
...

gracias por las respuestas.. una buena forma es que lo tome como string.. gracias.. si tendrian otra.. igual gracias:)