2
我有這樣的代碼在我的程序:Math.Sinh()在C#中返回不同的值
Math.Sinh(myvalue).ToString()
上面的代碼在Windows 8返回Infinity
和Windows 10返回∞
。
爲什麼它返回兩個不同的值?
我有這樣的代碼在我的程序:Math.Sinh()在C#中返回不同的值
Math.Sinh(myvalue).ToString()
上面的代碼在Windows 8返回Infinity
和Windows 10返回∞
。
爲什麼它返回兩個不同的值?
返回值Math.Sinh(myvalue)
仍然相同double.PositiveInfinity
。我假設包含特殊double值的字符串表示的資源文件已在Windows 10中更改,因此它們現在返回無窮大符號∞
。
如果你想保持你的代碼舊的方式(這實際上是不依賴於特定文化的字符串表示是一個好主意),你可以考慮這樣的事情:
double sinh = Math.Sinh(myvalue);
string v = double.IsInfinity(myvalue) ? "Infinity" : myvalue.ToString();
或只需檢查如果ToString()
的返回值是∞
並相應地更改它。
但請記住,您可能需要檢查一些更特殊的double值。
這些值是相同的'double.PositiveInfinity'。只有字符串表示更改爲閃亮的'∞'。 –
他們應該是相同的,因爲我用這個來加密數據,這導致我的密鑰加密。我怎樣才能做到這一點 ? –
無論視覺表現是什麼,當結果是無窮時,加密數據都會非常困難! –