Ir al contenido


Foto

Formato Double


  • Por favor identifícate para responder
2 respuestas en este tema

#1 zampa

zampa

    Newbie

  • Miembros
  • Pip
  • 6 mensajes

Escrito 26 octubre 2011 - 02:33

Hola.

Me da algo de corte hacer esta consulta, pero es que no me sale grfff. O tengo que hacerme una función a parte...

Tengo que imprimir con formato: son 9 columnas, cada una de 8 caracteres.

La primera columna es texto, y la segunda y tercera un entero. También me salen :
simplemente imprimo con Format('TEXTO  %8d%8d%8d',  [int0, int1, int2] );

Las siguientes dos columnas son valores decimales, de 8 caracteres: .0 si es 0 o por por ejemplo 0.016 o 0.5....: no me salen.

A continuación un ejemplo:


GRID          1      0    0.0    0.016.50000      0              0       
GRID          2      0    0.0    0.016.73300      0              0       
GRID          3      0    0.0    0.016.96700      0              0       
GRID          4      0    0.0    0.017.20000      0              0       
   

No quiero especificar cuantos decimales se imprimen. Si hay un signo, debe imprimir un signo menos, ... Pero en total siempre deben ser 8 simbolos
por ejemplo:
1.234567
12.23456
-1.23456
-12.2345
.1234567
-0.12345
  • 0

#2 seoane

seoane

    Advanced Member

  • Administrador
  • 1.259 mensajes
  • LocationEspaña

Escrito 26 octubre 2011 - 03:18

Te refieres a esto:


delphi
  1. function Dame8(d: Double): String;
  2. begin
  3.   Result:= Copy(FormatFloat('#.0000000',d),1,8);
  4. end;




Por ejemplo esto:


delphi
  1. memo1.Lines.Add(Dame8(0.12));
  2.   memo1.Lines.Add(Dame8(pi));
  3.   memo1.Lines.Add(Dame8(123.5));
  4.   memo1.Lines.Add(Dame8(-3.25));
  5.   memo1.Lines.Add(Dame8(-0.5));




Da como resultado esto:


delphi
  1. ,1200000
  2. 3,141592
  3. 123,5000
  4. -3,25000
  5. -,500000


  • 0

#3 zampa

zampa

    Newbie

  • Miembros
  • Pip
  • 6 mensajes

Escrito 27 octubre 2011 - 01:57

Muchas gracias  :smiley: Perfecto.
  • 0




IP.Board spam blocked by CleanTalk.