trst : C'est toi qui nous insulte ici en disant de la merde, sans faire l'effort d'écouter ce qu'on te dit ou de te renseigner, en plus.
Déjà, -0 et +0 ne sont pas égaux en logique. Ce sont deux termes écrits différemment, donc on n'a pas d'égalité (elle est structurelle l'égalité logique). Par contre, "-0 = +0" est une propriété *prouvable* .... à condition d'admettre les propriétés usuelles d'arithmétique mathématique.
Le problème ici, c'est qu'on ne fait pas des maths, mais du calcul numérique. L'arithmétique utilisé n'est *pas* *compatible* avec celle des mathématiques (si c'était le cas, on ne se ferait pour commencer pas chier avec des -0 ...).
Bref, je le dis la dernière fois, quand on n'y connait rien à l'arithmétique flottante, on laisse la machine faire. Des experts ont travaillé pendant 30 ans pour faire en sorte que les calculs se passent le mieux possible sans que le programmeur ait à avoir de connaissances précise sur le sujet. Arrête de les prendre pour des cons.
Pour finir, les autres ont compris que je critiquais la question... pas celui qui la pose. Je viens de dire qu'on pouvait ne pas avoir de connaissances en arithmétique flottante. Quand c'est le cas, poser des questions moisies est tout à fait compréhensible. Par contre, il faut savoir accepter la réponse même si elle ne fait pas plaisir (à savoir ici, que -0 c'est pas 0, et que la seule chose raisonnable à faire en l'absence de plus de contexte est d'accepter l'affichage des -).
PS : Si ça ne clot pas ce sujet, je vais demander un lock. L'OP n'est plus là de toute façon, et il a déjà eu sa réponse.
PSS pour elite : oui, mais l'OP va se mettre à mettre du +0.0 là où il ne faut pas (c'est à dire ailleurs que dans le printf) et après il va se plaindre que ses calculs sont faux. C'est d'autant plus idiot que le vrai problème qui pourrit l'affichage, c'est pas les - des -0, ce sont les 0.999999999987 et autre 2.000000000013. 