我正在做Objective 2中2個值的乘法,這似乎很簡單,但是我乘法後得到的結果不正確,小數點後面的最後一位數字正在改變值。我用來做乘法的代碼如下。2個十進制數值的乘法客觀C
NSDecimalNumber* x = rpnStack.back(); rpnStack.pop_back();
NSDecimalNumber* y = rpnStack.back(); rpnStack.pop_back();
NSDecimalNumber* z = [y decimalNumberByMultiplyingBy:x]; // y * x;
爲x = 20.16 的值的Y = 51.3934970238095 的值z的結果是= 1036.0928999999995,這是應該1036.0928999999996如在許多計算器測試。任何人都可以給我一些提示,我該如何解決這個最後的數字?
這不回答這個問題,有機磷。他特別詢問了關於'NSDecimalNumber'的問題 –
@yassir使用NSNumber我得到了這個結果1036.0929,我想知道如何在十進制後打印所有13個字符。你可以解釋嗎 ? –
@AshleyMills可以是任何其他數據類型,如果它有效的話。 –