Delphi - numero a texto

 
Vista:

numero a texto

Publicado por Ariel (61 intervenciones) el 30/11/2005 15:58:26
Hola a todos

hay alguna funcion para pasar de '35.126,3' a 35126,3

esto lo quiero porque tengo un stringrid con datos
estos datos estan formateados con format('%.1n',[valor]);
y en la aplicacion tengo un boton para pasarlo a excel.
pero al pasarlo a excel me queda alineado a la izquierda pero como texto y no como
numero, se puede hacer esto o mejor hago una funcion para esto?

agradecere su ayuda.

Saludos a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Te respondo, y ayuda a crear un instalador

Publicado por Martin_Artaza (72 intervenciones) el 30/11/2005 17:55:16
puede hacer la funcion,

suponemos que el valor que tu sacar es Cad

procedure ...
var str:string;
str := leftStr(cad,2) + rigtStr(leftStr(Cad,5),2) + rigtStr(cad,5);
end;

debeas agregar a la libreria la libreria StrUtils

Si sabes como crear un instalador ayudame
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Te respondo, y ayuda a crear un instalador

Publicado por Ariel (61 intervenciones) el 30/11/2005 18:37:25
Hola:

mira la verdad solo he creado dos instaladores, para aplicaciones
distintas, para ambos instaladores utilice el instalshiel express
que viene con delphi 7, no se si en otras versiones esta el instalshield.
para mi gusto es bueno.

en ambos instaladores, tenia un ejecutable(.exe) una base .mdb(access)
y unos libros excel y una imagen .wmf.
y me funciono sin problemas.
ahora como trabaje con access y ADO, solo tenia q asegurarme que en el
equipo q se instalara tuviese el MDAC.
y si utilizas un odbc, instalshield tambien te crea el odbc.

Saludos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Resuelto

Publicado por Ariel (61 intervenciones) el 30/11/2005 19:20:40
Gracias.

pero hice mi propia funcion tu funcion no me sirve, puesto
a que necesitaba para todos tipo de numeros
'123.124.156.856,45'
etc..

Saludos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:numero a texto

Publicado por Virum (484 intervenciones) el 30/11/2005 19:29:19
Hola:

Recorre el numero (en este caso cadena) cogiendo los caracteres que no sean punto (.)

var
i : integer;
eNumero : Extended;
sCaracter, sOriginal, sFinal : string;
begin
sOriginal := '1.234.567,89';
sFinal := '';
for i := 1 to Length(sOriginal) do
begin
sCaracter := Copy(sOriginal, i, 1);
if sCaracter <> '.' then
sFinal := sFinal + sCaracter;
end;
eNumero := StrToFloat(sFinal);
end;

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:numero a texto

Publicado por Ariel (61 intervenciones) el 30/11/2005 21:03:34
Hola

gracias por tu ayuda, pero esa funcion solo me sirve si el pc, tiene el formato
numerico miles= .
ejemplo:
13.937,45 <-- con este sirve
13,937.45 <-- con este no

para eso hice estas funciones

bueno, saludos...

--- esta funcion me ayuda a determinar el formato numerico.
Function FormatoNumPC():String;
var
Rf:String;
Begin
Rf := Midstr(floattostr(0.1), 2, 1);
If Rf = ',' Then result:='CHILE';
If Rf = '.' Then result:='USA';
end;

--- esta funcion transforma 13.937,45 o 13,937.45 a 13937.45
Function numetxt(T:string):String;
var
largo,P:integer;
nT:string;
begin
largo:=Length(t);
nt:='';
for p:=1 to largo do
begin
if FormatoNumPC='CHILE' then
if midstr(t,p,1)<>'.' then nt:=nt+midstr(t,p,1);

if FormatoNumPC='USA' then
if midstr(t,p,1)<>',' then nt:=nt+midstr(t,p,1);
end;
result:=nt;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:numero a texto

Publicado por Dr Juzam (821 intervenciones) el 01/12/2005 00:39:59
Puedes evitarte trabajo usando DECIMALSEPARATOR. Consulta la ayuda de Delphi y suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar