Fórum Casas Decimais no Firebird Linux #52005

04/08/2005

0

Já vasculhei a internet procurando uma solução, mas não encontrei, encontrei em diversos fóruns a problema mas não a resposta. A questão é a seguinte: Utilizo Kylix+DBExpress+Firebird, porém quando gravo algum valor com casas decimais (exemplo 10,13), as casas decimais não são gravadas no banco (é gravado somente 10). ALguém, por favor, sabe o que devo fazer?????

Abraço a todos
:D


Elessandro Gobet

Elessandro Gobet

Responder

Posts

05/08/2005

Nandolh

O campo no banco está como
DOUBLE PRECISION???

Ou vc está utilizando NUMERIC (lixo)


Responder

Gostei + 0

05/08/2005

Afarias

|Ou vc está utilizando NUMERIC (lixo)

eu gostaria de entender este comentário.
:roll:

T+


Responder

Gostei + 0

05/08/2005

Jomba

Já passei por este problema e depois de muita pesquisa na net consegui esta solução que repasso abaixo.
Crie um arquivo de script e execute a aplicação através deste script.
No meu caso dei ao arquivo o nome de ´script.sh´ e criei um link na desktop para este.

Conteúdo do ´script.sh´, o ´#´ no início da linha, indica linha comentada.


!/bin/bash

Pasta onde está o executável
app_install_dir=/projeto/bin

Caminho do executável = Pasta + nome do executável, neste caso ACADEMICO
app_path=$app_install_dir/ACADEMICO

if [ -n ´$LD_LIBRARY_PATH´ ]; then
export LD_LIBRARY_PATH=´$app_ld_path:$LD_LIBRARY_PATH´
else
export LD_LIBRARY_PATH=´$app_ld_path´
fi
if [ -z ´$LANG´ ]; then
export LANG=pt_BR.ISO-8859-1
fi

Aqui está o problema de não gravação de decimais, é preciso configurar o LC_ALL para este valor.
export LC_ALL=en_US;

#Executa sua aplicação.
$app_path $*


João Batista de Oliveira
jomba@cneconline.com.br
Colégio Cenecista Dr. José Ferreira
Uberaba - MG


Responder

Gostei + 0

05/08/2005

Elessandro Gobet

nandolh:
Uso NUMERIC, o qual não julgo um ´lixo´.

Jomba:
Já tentei alterar alguns parâmetros no arquivo i18n na pasta /etc/sysconfig, porém todos me trouxeram outros problemas. Vou experimentar sua sugestão de chamar o programa através de um executável.

vlw


Responder

Gostei + 0

05/08/2005

Afarias

|Uso NUMERIC, o qual não julgo um ´lixo´.

Com certeza não é Elessandro. NUMERIC nem é mesmo um tipo, é apenas uma ´alias´ -- é um grande recurso q permite o Ib/Fb escolher o melhor tipo interno para representar a informação desejada.

Nenhum dado no IB ou FB é guardado como NUMERIC, mas sim com o tipo mais eficiente que consiga representar os números desejados (baseado na precisão e escala definidos)

Geralmente o tipo escolhido é um INTEIRO visto sua precisão (isso mesmo, INTEIROS, mesmo q o número possua casas decimais) -- guardar informações em campos DOUBLE PRECISION é um ´último recurso´ devido sua imprecisão.


T+


Responder

Gostei + 0

09/08/2005

Elessandro Gobet

Tentei resolver a questão com o script, porém os caracteres especiais (acentuados ou ç) ficaram bagunçados. Pelo que entendi, o script faz com que a lingua padrão a ser utilizada pelo programa seja o inglês americando, porém no inglês não existem estes caracteres especiais o que resulta em um novo problema.
Alguém tem uma nova solução???


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar