Total Precipitation negative values in ERA5 monthly averaged data


I have downloaded a monthly ERA5 Total Precipitation data  in CDO ,but I use MATLAB to read the .nc format data found that some  precipitation data in 1978, 2001 and 2005 showed negative values, which were -6.938893903907228e-18 or -1.387778780781446e-17.

I found the reason in forum is because of the data format encoding problem.

So, I downloaded the  .grib format data and read this data with nctoolbox  of MATLAB. However,I found those negative values became 0.

So I'm confused. I'm using these data to calculate the standardized precipitation index (SPI). Is it possible to use 0 to calculate, or is there a way to get the correct precipitation value for those three years?

Thanks in advance,

.nc fomat   

The first and second columns represent longitude and latitude respectively, and the third column is the precipitation by month