Executando verificação de segurança...
2

O computador não lida muito bem com ponto flutuante (números reais, fracionados).
Esse resultado estranho, se não me engando, é notação científica, é uma aproximação do resultado encontrado: -2.842170943040401 elevado a -14

Carregando publicação patrocinada...
1
1

tem várias técnicas diferentes que a gente pode usar, algumas linguagens tem libs ou funções que auxiliam nisso (aí tem que vasculhar as documentações). no meu caso, das soluções que testei, a que mais gostei e tive melhor resultado foi trabalhar com inteiros, e é a mesma coisa pra qualquer linguagem

1

Se quer trabalhar com valores exatos, pode usar outras libs específicas (como já mencionei na outra resposta).

Mas se for para continuar com float, o que vc pode fazer é verificar se o valor está próximo de zero, com alguma tolerância.

Em Python, por exemplo, pode usar math.isclose:

from math import isclose

x = 128.23 - (118.23 + 10)
if isclose(x, 0, rel_tol=1e-10, abs_tol=1e-10):
    print('ok') # entra no if

Os parâmetros rel_tol e abs_tol são a tolerância que vc usa para comparar os números (consulte a documentação para mais detalhes). Não tem muito jeito, tem que ficar ajustando os valores para a precisão que você vai trabalhar.

Em JavaScript, pode ser feito algo similar. Uma versão bem simplificada seria:

function iguais(a, b, tolerancia=1e-10) {
    return Math.abs(a - b) <= tolerancia;
}

var x = 128.23 - (118.23 + 10.00);
console.log(iguais(x, 0)); // true