为什么double.Parse忽略零的符号?

har*_*old 26 c#

例如,在:

bool eq = (1 / double.Parse("-0.0")) == (1 / -0.0);
Run Code Online (Sandbox Code Playgroud)

eq会的false.

double.Parse将不得不经历一些麻烦明确忽略零的标志,即使不这样做几乎从来没有导致问题.因为我需要原始表示,所以我必须编写自己的解析函数,其中特殊情况为负零,并double.Parse用于其他所有内容.

这不是一个大问题,但我真的很想知道为什么他们决定忽略零的标志,因为在我看来,不这样做不会是坏事.

Meh*_*dad 2

我不知道原因本身,但一个潜在的解决方案:如果您-在开头看到一个字符,请解析字符串的其余部分,然后将其取反。