Aparentes erros com ponto flutuante O que aparenta ser um erro, será mesmo? Na imagem seguinte, saliento os cálculos, em que supostamente o resultado está impreciso: O programa, tendo por base o ponto 1, e diminuindo no eixo dos x 10 metros, deveria apresentar uma coordenada x para o ponto 2 de -10.00000 no entanto apresenta -9.99999 porque isto ocorre? Simplesmente porque o programa está a usar números flutuantes, que como se sabe, são optimos para representar grandes números e para a rapidez do cálculo. No seguinte extracto do código, vê-se que estou a transformar a string introduzida no campo horizontal para um número flutuante: A solução passa por saber que os dados serão números até um certo limite, e que eventualmente poderemos usar em vez de float um outro tipo de números/variáveis. No caso em que estou a trabalhar existe uma biblioteca para lidar com números decimais, cujo resultado será o -10.0000 esperado. Há que ter, se possível um sentido crítico, e buscar alternativas par
Blogue sobre Engenharia,Topografia, Programação, ISTRAM ISPOL, BIM, C# Civil Engineering, Land Surveying, Programming, railway, railtrack, javascript, python, roads, apps, android, CSharp, Autocad