como tirar a virgula de valores decimais (10,00 vira 1000)?
E aí, blz?
Estou criando um soft no delphi 5 usando paradox 7 como base de dados e possuo um campo da tabela do tipo numérico, o valor contido dentro deste campo é separado por virgula (ex: 10 aparece como 10,00) e preciso exportar o valor (10,00) para uma variavel. O problema é que eu não quero que apareça a virgula dentro dessa variavel, porém quero manter os zeros depois da virgula (ex:10,00 apareça na variavel como 1000 ou 10,75 como 1075).
Como seria o jeito mais prático para apenas remover a virgula dos valores? existe alguma rotininha básica para isso?
grato pela atenção e pela paciência...
Estou criando um soft no delphi 5 usando paradox 7 como base de dados e possuo um campo da tabela do tipo numérico, o valor contido dentro deste campo é separado por virgula (ex: 10 aparece como 10,00) e preciso exportar o valor (10,00) para uma variavel. O problema é que eu não quero que apareça a virgula dentro dessa variavel, porém quero manter os zeros depois da virgula (ex:10,00 apareça na variavel como 1000 ou 10,75 como 1075).
Como seria o jeito mais prático para apenas remover a virgula dos valores? existe alguma rotininha básica para isso?
grato pela atenção e pela paciência...
Maluco Tubaina
Curtidas 0
Respostas
Aroldo Zanela
28/01/2004
Colega,
Basta multiplicar por 100 e truncar.
Basta multiplicar por 100 e truncar.
GOSTEI 0
Osocram
28/01/2004
vc pod fazer isso
novovalor := StringReplace(valor,´,´,´´,[]);
ond ´valor´ igual o valor q vc tem so q em string, isso ira retirar a virgula
novovalor := StringReplace(valor,´,´,´´,[]);
ond ´valor´ igual o valor q vc tem so q em string, isso ira retirar a virgula
GOSTEI 0
Zumbi
28/01/2004
ex:
edit1.text := inttostr(valor * 10);
flw...
edit1.text := inttostr(valor * 10);
flw...
GOSTEI 0
Zumbi
28/01/2004
op´s
varialvel := trunc(valor*10);
flw....
varialvel := trunc(valor*10);
flw....
GOSTEI 0
Maluco Tubaina
28/01/2004
Galera, brigadão pela ajuda aí!
Osocram, grato pela ajuda também, estou usando o código q vc me passou e está rodando certinho o programa, porém estou com outro problema... os dados que eu tenho são digitados num DBGrid e guardados numa tabela no paradox, o problema é que no paradox um valor (ex:2,70) aparece como 2,70 e no dbgrid como 2,7... como faço para que o dbgrid mostre também o valor como 2,70???
grato pela atenção e pela paciência...
Osocram, grato pela ajuda também, estou usando o código q vc me passou e está rodando certinho o programa, porém estou com outro problema... os dados que eu tenho são digitados num DBGrid e guardados numa tabela no paradox, o problema é que no paradox um valor (ex:2,70) aparece como 2,70 e no dbgrid como 2,7... como faço para que o dbgrid mostre também o valor como 2,70???
grato pela atenção e pela paciência...
GOSTEI 0
Osocram
28/01/2004
Faz assim...
dah dois clique na query q esta ligada no dbgrid...
ae vai abrir um janela c os campos q estaum n memoria dela... ae vc clica no campo do valor q vc deseja....e vai no object inspector...
lah tem uma propriedade DisplayFormat, vc coloca nele ´#00.00´
(sem as aspas).
Isso deve resolver...
dah dois clique na query q esta ligada no dbgrid...
ae vai abrir um janela c os campos q estaum n memoria dela... ae vc clica no campo do valor q vc deseja....e vai no object inspector...
lah tem uma propriedade DisplayFormat, vc coloca nele ´#00.00´
(sem as aspas).
Isso deve resolver...
GOSTEI 0
Maluco Tubaina
28/01/2004
Osocram, valeu pela dica, mas como diria Murphy: [i:8ff1bd4bf2]´toda solução gera novos problemas...´[/i:8ff1bd4bf2]
estou trabalhando com uma máscara de 4 digitos (#0000.00), no dbgrid os zeros à esquerda da máscara aparecem normalmente como o esperado, porém quando o valor é exportado para uma variavel eles somem (ex: 0001,70 vira 1.70) como eu posso fazer para que fique sempre com 4 digitos à esquerda da virgula? tentei mexer no paradox e não vi nada sobre isto, vc pode me ajudar?
grato pela atenção e pela paciênica...
estou trabalhando com uma máscara de 4 digitos (#0000.00), no dbgrid os zeros à esquerda da máscara aparecem normalmente como o esperado, porém quando o valor é exportado para uma variavel eles somem (ex: 0001,70 vira 1.70) como eu posso fazer para que fique sempre com 4 digitos à esquerda da virgula? tentei mexer no paradox e não vi nada sobre isto, vc pode me ajudar?
grato pela atenção e pela paciênica...
GOSTEI 0
Osocram
28/01/2004
Vixii o meu trampo aqui esta bem apurado agora...
mas eh o seguinte.. esseas casas a esq. q vc precisatem q estar no BD ou pod ser so p mostrar p o cliente.?
mas eh o seguinte.. esseas casas a esq. q vc precisatem q estar no BD ou pod ser so p mostrar p o cliente.?
GOSTEI 0
Maluco Tubaina
28/01/2004
bom, vou explicar o q tá acontecendo:
eu to fazendo um programa de folha de pagto, que além de gravar os dados do dbgrid numa tabela do paradox ele também exporta os dados para um arquivo texto (.txt). o problema é que tem que haver uma certa padronização em relação ao posicionamento dos valores no arquivo para que ele possa ser importado num outro soft...
E é por isso q tem q ter esses zeros a esquerda..
ex: tem uma linha em que o valor é de r$ 50,75, ele tem que ser gravado no arquivo .txt como 005075. e é ai q tá o problema: como colocar os zeros a esquerda sem q saia do padrão, o mesmo vale pros zeros depois da vígula...
eu tava tentando usar if/else como condicional pra isso, tipo assim : se valor < 10 então ´000´ + valor, se valor <100 então ´00´ + valor, só que, por ex, 9 é < q 10 e é também < q 100, tentei usar ´valor >10 and <100´ e não deu certo...
faz idéia do q eu posso fazer pra resolver o problema da padronização dos zeros???
grato pela atenção e pela paciência...
eu to fazendo um programa de folha de pagto, que além de gravar os dados do dbgrid numa tabela do paradox ele também exporta os dados para um arquivo texto (.txt). o problema é que tem que haver uma certa padronização em relação ao posicionamento dos valores no arquivo para que ele possa ser importado num outro soft...
E é por isso q tem q ter esses zeros a esquerda..
ex: tem uma linha em que o valor é de r$ 50,75, ele tem que ser gravado no arquivo .txt como 005075. e é ai q tá o problema: como colocar os zeros a esquerda sem q saia do padrão, o mesmo vale pros zeros depois da vígula...
eu tava tentando usar if/else como condicional pra isso, tipo assim : se valor < 10 então ´000´ + valor, se valor <100 então ´00´ + valor, só que, por ex, 9 é < q 10 e é também < q 100, tentei usar ´valor >10 and <100´ e não deu certo...
faz idéia do q eu posso fazer pra resolver o problema da padronização dos zeros???
grato pela atenção e pela paciência...
GOSTEI 0
Osocram
28/01/2004
p deixar gravado os Zeros q vc quer teria q ser um campo string enaum Float...
sendo Float vc teria q na hora d grava o resultad em um txt.... vc usar o mascaramento...
sendo Float vc teria q na hora d grava o resultad em um txt.... vc usar o mascaramento...
GOSTEI 0
Maluco Tubaina
28/01/2004
vc falou de usar o mascaramento em função de estar utilizando float, mas isso só funciona na interface do programa e não no bd do paradox, estou certo? como eu poderia resolver essa situação, já que não posso utilizar string...
grato pela atenção e pela paciência...
grato pela atenção e pela paciência...
GOSTEI 0