Perda de Precisão com Números ou Valores Não Números Inteiros
Problema ou erro: Devido a limitações dos tipos de dados usados no Campaign, pode ocorrer perda de precisão em várias circunstâncias. Por exemplo, quando números maiores que 15 dígitos são usados, o Campaign aproxima estes valores. Além disso, ao incluir valores não números inteiros, a precisão é perdida (por exemplo 95,1 + 4,9 pode não resultar exatamente em 100).
Solução: Soluções alternativas possíveis: quando trabalhar com valores não números inteiros, se puder torná-los números inteiros com menos que 15 dígitos, não haverá perda de precisão (por exemplo, multiplicando os valores no exemplo anterior por 10 e incluindo um pequeno delta e, em seguida, usando a macro FLOOR() para torná-lo um número inteiro, ele compararia corretamente 951 + 49 = 1000 como TRUE).
De forma alternativa, é possível comparar valores usando um valor pequeno de delta ao invés de uma comparação exata (por exemplo, 95,1 + 4,9 > 100 – delta E 95,1 + 4,9 < 100 + delta).
Por último, se os valores existirem no banco de dados, seria possível executar os cálculos no banco de dados (por exemplo, gravando uma macro customizada GROUPBY que somasse estes valores para cada cliente).