2017-02-05 49 views
1

如果輸入值-0.088,我想從x = 0.8這樣0.8 - -0.088採取但結果我想獲得0.712,而不是0.888,因爲它是帶有負0.8 - 0.088數學函數刪除減去

如何從數量沒有直接的字符串處理除去減,我可以使用這樣的情況下,一些數學函數:

double x1 = 0.8; 
    double x2 = 0.8; 
    double a = -0.088; 
    double b = 0.088; 

    x1 = (x1 - a); 
    x2 = (x2 - b); 

    Console.WriteLine("0.8 minus -0.088 equals to [ " + x1 + 
       " ]\r\n0.8 minus 0.088 equals to [ " + x2 + " ]"); 

結果:

0.8 minus -0.088 equals to [ 0.888 ] 
0.8 minus 0.088 equals to [ 0.712 ] 

期望的結果:

0.8 minus -0.088 equals to [ 0.712 ] 
0.8 minus 0.088 equals to [ 0.712 ] 
+0

@MikeWodarczyk這是一個'C#'問題,而不是'C/C++' – MickyD

回答

3

雖然這在數學上是正確的。做0.8 - -0.088,將導致0.8 + 0.088。在減去它們之前嘗試使用Math.Abs。參考:https://www.dotnetperls.com/math-abs

x1 = (x1 - Math.Abs(a)); 
    x2 = (x2 - Math.Abs(b)); 

這應該會返回您想要的結果。

希望它有幫助!