rounding - MatLab - 9.45 representation and round -


  & gt; & gt; A = 12.5 * 9.45 ए = 1.181250000000000e + 02> & gt; राउंड (ए * 100) / 100 एएन = 1.181200000000000e + 02   

राउंड वैल्यू 118.13 होनी चाहिए, 118.12 नहीं।

यदि आप 9: 455 में MatLab कमांड लाइन में टाइप करते हैं , इसका प्रतिनिधित्व नहीं किया जा सकता:

  & gt; & gt; 9.45 ans = 9.449999999999999   

अगर मैं संख्यात्मक प्रारूप को कम सेट करता हूं, तो अंतिम परिणाम समान होता है।

  & gt; & gt; ए = 12.5 * 9.45 ए = 118.1250 & gt; & gt; गोल (एक * 100) / 100 ans = 118.1200   

क्या कोई यह समझा सकता है?

आप कुछ ऐसा करने की कोशिश कर सकते हैं।

यह परिणाम देगा आप उम्मीद कर रहे हैं

  गोल (एचपीएफ ('12 .5 ') * एचपीएफ (' 9.45 ') * 100) / 100 अंक = 118.13 एफ = एचपीएफ (' 9.45 ') एफ = 9.45    

Comments