[英]Why does double.Parse ignore the sign of zero?
例如,在:
bool eq = (1 / double.Parse("-0.0")) == (1 / -0.0);
eq
將是false
。
double.Parse
必須經歷一些麻煩才能明確地將符號忽略為零,即使不這樣做也幾乎不會導致問題。 因為我需要原始表示,所以我必須編寫自己的解析函數,特殊情況為負零,並使用double.Parse
進行其他操作。
這不是一個大問題,但我真的很想知道為什么他們決定忽略零的標志,因為在我看來,不這樣做不會是壞事。
我不知道該干嘛本身,而是一個潛在的解決方案:如果你看到一個-
開頭的性格,解析字符串的其余部分,然后否定它。
有區別:
double.Parse(“ - 0.0”)= 0,1 / 0 - > INF
1 / -0.0 - > -INF
但是語句2中的減號運算符並不意味着“-0.0”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.