Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   decimales ... (https://www.clubdelphi.com/foros/showthread.php?t=78099)

luisito2011 20-03-2012 16:41:28

decimales ...
 
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.
Código:

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

Cita:

Empezado por roman (Mensaje 428067)
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:

Código:

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:)


La franja horaria es GMT +2. Ahora son las 06:32:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi