上面公式中的分子1.0沒有精確到小數點的最後壹位,而是告訴編譯器這是浮點運算,而不是整數運算。
如果上面的公式變成1/2 *(a+b+ c),那麽首先,在計算1/2時,編譯器將其視為整數運算。此時的結果不是0.5,而是0,所以1/2 *(a+b+ c)的結果是0。
至於-B/(2 * a),結果取決於兩個變量B和a的類型。如果B是浮點類型(float或double),則結果為decimal。如果A和B是整數,則結果只能是此公式得出的結果的整數部分。