PICTURE

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

paiva
Usuário Nível 3
Usuário Nível 3
Mensagens: 300
Registrado em: 04 Ago 2005 10:28

PICTURE

Mensagem por paiva »

BOM dia

xtot_cotas = 2.123
msgstop("="+TRANSFORM(xtot_cotas,[@E 99,999,999.99999999])) >> = 2,12300000

com um startran ou ALLTRIM posso tirar os espaços da frente
e quanto os 0 (zeros) da direita ?

existe uma PICTURE que faça as 2 coisa ?

OU é desejar demais ?

ou alguem teria uma função ?

desde já agradeço

Paiva
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

PICTURE

Mensagem por Mario Mesquita »

Bom dia.

Acho que terá que usar um SUBSTR() ou ALLTRIM() ali. Ou já formata o número com duas casas. O risco é causar arredondamento. Mas se isso não for importante, acho qeu dá.

Saudações,
Mario.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

PICTURE

Mensagem por Itamar M. Lins Jr. »

Olá!
msgstop("="+TRANSFORM(hb_ntos(xtot_cotas),[@E 99,999,999.99999999])) >> = 2,12300000

Não testei.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
paiva
Usuário Nível 3
Usuário Nível 3
Mensagens: 300
Registrado em: 04 Ago 2005 10:28

PICTURE

Mensagem por paiva »

Itamar

resultado =2.23

acho que vou ter que fazer na unha, tirar os zeros da direita

PAiva
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

PICTURE

Mensagem por Itamar M. Lins Jr. »

Olá!
O problema é que não é fixo(ponto flutuante), os campos atras da virgula.
Precisa transforma em string antes do transform() e fazer o processo antes.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

PICTURE

Mensagem por Itamar M. Lins Jr. »

Olá!
msgstop("="+TRANSFORM(val(hb_ntos(xtot_cotas)),[@E 99,999,999.99999999]))

Não testei. hb_ntos() -> retorna string, ai transform(picture()) comeu o 1

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

PICTURE

Mensagem por Kapiaba »

Responder