Pict

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

PITERGALDIANO
Usuário Nível 2
Usuário Nível 2
Mensagens: 91
Registrado em: 28 Nov 2003 08:48

Pict

Mensagem por PITERGALDIANO »

boa tarde a todos

preciso pegar uma seguencia de caratctes e converter ela pra moeda R$

exemplo: 0000000589 corresponde a 5,89

como posso fazer isso, preciso imprimir estes dados

já tentei com pict mas só cheguei em 589,00, não consigo fazer com que os dois último caracteres sejam centavos.

Obrigado

Piter Galdiano
Piter Galdiano
Programador Clipper
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Pict

Mensagem por Maligno »

preciso pegar uma seguencia de caratctes e converter ela pra moeda R$

exemplo: 0000000589 corresponde a 5,89
Atente para os detalhes para conseguir resolver o problema, que é fácil. Sendo um valor monetário com duas casas, é só inserir um ponto decimal e converter para numérico. Exemplo:

Código: Selecionar todos

c := "0000000589"
c := Stuff(c,Len(c)-1,0,".") // agora temos "00000005.89"
v := Val(c)                  // e neste ponto: 5.89
Acho que esta é a forma mais fácil. E resolve.

[]'s
Maligno
http://www.buzinello.com/prg
Avatar do usuário
filizola
Usuário Nível 3
Usuário Nível 3
Mensagens: 421
Registrado em: 19 Ago 2003 20:10
Localização: Belo Horizonte/MG

Mensagem por filizola »

cvar="0000000589"

@ lin,col say transf(val(cvar)/100,"@e R$ 9,999.99")
Avatar do usuário
Anderson J. Freitas
Usuário Nível 1
Usuário Nível 1
Mensagens: 46
Registrado em: 19 Fev 2005 10:34
Localização: Caratinga-MG

Mensagem por Anderson J. Freitas »

Bem eu uso de modo diferente do sugerido pelo Maligno, porém com o mesmo resultado

Código: Selecionar todos

 resultado = val(0000000589)/100 
O número de casas decimais será definido pelo número colocado como divisor. Neste exemplo = 2 casas
Pitbull

Clipper 5.2e, Exospace, Six2, DBMax
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Pict

Mensagem por Maligno »

preciso pegar uma seguencia de caratctes e converter ela pra moeda R$

exemplo: 0000000589 corresponde a 5,89
Desculpe. Tive um ataque de burrice (felizmente, momentâneo). A forma mais fácil, evidentemente, é a que os colegas demonstraram. Um simples Val(s)/100, onde s contém a string a converter. É muito mais prático.

[]'s
Maligno
http://www.buzinello.com/prg
Cleiton Fidelis
Usuário Nível 2
Usuário Nível 2
Mensagens: 81
Registrado em: 06 Jul 2004 09:44
Localização: Divinopolis MG

Mensagem por Cleiton Fidelis »

Cara sabe o que mais acho interessante no forum.
A capacidade de reconhecer as coisas.

Olha só, o Mestre Maligno, voltou a postagem pra referenciar realmente uma forma mais facil.

Ele eh um dos "Caras" e tem tamanha humildade, nem soh de ensinametnos de programcao, vivemos no forum

show, parabens.

Cleiton Fidelis
Divinopolis MG
Avatar do usuário
Antonio
Usuário Nível 3
Usuário Nível 3
Mensagens: 347
Registrado em: 14 Ago 2003 17:33
Localização: Sao Paulo - SP
Contato:

Mensagem por Antonio »

Cleiton Fidelis escreveu:Cara sabe o que mais acho interessante no forum.
A capacidade de reconhecer as coisas.

Olha só, o Mestre Maligno, voltou a postagem pra referenciar realmente uma forma mais facil.

Ele eh um dos "Caras" e tem tamanha humildade, nem soh de ensinametnos de programcao, vivemos no forum

show, parabens.

Cleiton Fidelis
Divinopolis MG
Só não concordo muito com esse nome "Maligno", mas o que tenho eu de concordar ou discordar.... ademas trata-se realmente de um mestre.

Parabens.
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
evolver
Membro Master
Membro Master
Mensagens: 189
Registrado em: 28 Ago 2004 01:02
Localização: Cruz Alta - RS
Contato:

Mensagem por evolver »

Humm vou lockar não pela zona, mas o assunto tá resolvido e o tópico tá desbandando a toa.

puxasaco mode off ai faz favor! :))
Sergio "Evolver" Fagundes

CURVE-SE DIANTE DE MIM SER INSIGNIFICANTE, POIS EU SOU ROOT
Só respondo em PVT perguntas relativas ao que eu faço. Qualquer outra dúvida favor postar no fórum.
Peço aos veteranos que antes de responder a uma pergunta repetida dêem uma pesquisada e instruam a quem perguntou a fazer o mesmo.
Trancado