簡體   English   中英

為什么double.Parse忽略零的符號?

[英]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進行其他操作。

這不是一個大問題,但我真的很想知道為什么他們決定忽略零的標志,因為在我看來,不這樣做不會是壞事。

我不知道該干嘛本身,而是一個潛在的解決方案:如果你看到一個-開頭的性格,解析字符串的其余部分,然后否定它。

有區別:

  1. double.Parse(“ - 0.0”)= 0,1 / 0 - > INF

  2. 1 / -0.0 - > -INF

但是語句2中的減號運算符並不意味着“-0.0”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM