我在使用MATLAB的str2num
和str2double
时遇到问题,导致小数点后几位数字的字符串和字符数组表示形式的结果不准确。下面是一个例子(其他数字我也有同样的问题)。有什么想法会导致此问题以及如何解决?
>> testChar = '85.485340000001'
testChar =
'85.485340000001'
>> testString = "85.485340000001"
testString =
"85.485340000001"
>> str2num(testChar)
ans =
85.485340000001003
>> str2num(testString)
ans =
85.485340000001003
>> str2double(testChar)
ans =
85.485340000001003
>> str2double(testString)
ans =
85.485340000001003
输出应为85.485340000001
,但应为85.485340000001003
。在另一台运行R2018a的计算机上,我得到了相同的结果。