TheMaker 0 Denunciar post Postado Dezembro 17, 2004 Olá, Estou c/ o seguinte problema... A,B : Double;A := 1.500;B := 1.000;C := (A * A);Result := C / B; Beleza tudo finciona!! A questão é q certas vezes recebo A ou B := 1.500,56 (EX: valor de entrada) nessa hora a variavel A Ou B tem erros...como poço fazer o mesmo calculo acima usando Formatação monetaria?, Compartilhar este post Link para o post Compartilhar em outros sites
Eduardo Valentim 0 Denunciar post Postado Dezembro 17, 2004 Olá, Não entendi muito bem a questão quando você fala ...a variavel A Ou B tem erros... você poderia explicar melhor? Um conselho que eu posso te dar é não trabalhar com valores monetários com o tipo Double, pois é um tipo criado para ser utilizado em cálculos científicos de precisão dupla e como você pode ver é muito grande para se trabalhar com valores monetários: = tipo: DOUBLE = representação interna (64 bits): - 1 bit para sinal; - 11 bits para expoente ou característica, com normalização binária, expressa por aritmética de excesso de 1023; - 52 bits para a parte fracionária ou mantissa. e pode fazer com que você passe maus bocados com erros de arredondamento. Use o tipo Currency, pois ele é um tipo de dados de ponto fixo que minimiza erros de arredondamento, possuindo quatro casas decimais e foi criado específicamente para isso. Abraços Compartilhar este post Link para o post Compartilhar em outros sites