Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   como eliminar el caracter cero a la izquierda (https://www.clubdelphi.com/foros/showthread.php?t=42734)

FGarcia 21-04-2007 00:39:05

como eliminar el caracter cero a la izquierda
 
Hola!

Tengo una cadena de longitud maxima de 6 digitos :
012345, 002345, 000345, 000045, 000005
Diversos valores de la misma cadena, la pregunta es si alguien conoce una funcion para eliminar los ceros a la izquierda de forma que solo queden los digitos significativos. ¿y si existiese un punto decimal? :
0001.2, 0000.6, 012.45

Busque en el foro pero solo encontre " Sorry, no matches" :rolleyes:

gracias por la ayuda

roman 21-04-2007 00:50:48

Quizá algo como

Código Delphi [-]
S := IntToStr(StrToInt(S));

// Saludos

seoane 21-04-2007 00:52:17

Si solo quieres eliminar los ceros a la izquierda:
Código Delphi [-]
var
  Str: string;
begin
  Str:= '000345';
  // Eliminamos los ceros a la izquierda
  while (length(Str)>1) and (Copy(Str,1,1)='0') do
    delete(Str,1,1);
  // Si el primer caracter es un punto añadimos un cero a la izquierda
  if Copy(Str,1,1)='.' then
    Str:= '0' + Str;

egostar 21-04-2007 00:53:11

Algo así

Código Delphi [-]
Procedure ConvCadena(Cadena:String);
begin
  ShowMessage(FloattoStr(StrtoFloat(Cadena)));
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  ConvCadena('012345');
  ConvCadena('002345');
  ConvCadena('000345');
  ConvCadena('000045');
  ConvCadena('000005');
  ConvCadena('0001.2');
  ConvCadena('0000.6');
  ConvCadena('012.45');
end;

Salud OS.

FGarcia 21-04-2007 01:09:49

¡¡¡Caramba!!!

Ya puedo presumir!! los legendarios Roman y Seoane me respondieron mi duda!!! Egostar no te ofendas pero........tu entiendes, no?

Gracias a todos!!!

roman 21-04-2007 01:14:17

Realmente, la respuesta de egostar- en mi opinión -es la más acertada. Sencilla y correcta, porque la mía sólo servía para enteros :o

// Saludos

egostar 21-04-2007 01:38:14

Cita:

Empezado por FGarcia
Egostar no te ofendas pero........tu entiendes, no?

Vamos hombre, y porque habria de ofenderme, aqui lo importante es que haya varias alternativas y tomes la que mas te sirva.

Cita:

Empezado por roman
Realmente, la respuesta de egostar- en mi opinión -es la más acertada. Sencilla y correcta

Lo tomo como un gran alago, gracias roman.

Salud OS


La franja horaria es GMT +2. Ahora son las 17:46:01.

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