Our full technical support staff does not monitor this forum. If you need assistance from a member of our staff, please submit your question from the Ask a Question page.


Log in or register to post/reply in the forum.

TE525MM data with many decimal numbers


XxVashxX Mar 25, 2013 05:37 PM

Hello

Some one know why the data storage in a CR200X from a TE525MM some times have many decimals?? in example normal records are:
1.2 mm
2.4 mm
0.6 mm

but some times the records are in this way:

0.8000001
4.399998
3.099999

What you think is the reason of this measurements and how i can fix this?

Thank you in advance


aps Mar 26, 2013 06:40 PM

This is due to the fact the CR200X logger does its math in single precision floating point arithmetic and also stores data in the same format.

A consequence of this is that even the addition of non-integer numbers are subject to very small internal conversion and rounding errors (this applies to any device working in IEEE4 math).

A simple option in this case is to totalise the number of tips, and store that value, which generally will not result in so many rounding errors.

Alternatively you could just round the floating point numbers post data collection.


XxVashxX Mar 27, 2013 02:11 PM

Thank you Andrew,
Possible in the program of the CR200X in this case in the data table the totalize instructiona have data type IEEE4?
If i change the data type for FP2 this can help? (or other format of data type)

Thank you
Best Regars


aps Mar 27, 2013 04:22 PM

Unfortunately the CR200X only supports IEEE4 data storage (there are no options). In our more advanced loggers (CR800 up) you can select FP2 or integer data format for storage. When you do this the numbers are automatically rounded during the conversion to the alternate format for storage.


XxVashxX Mar 27, 2013 07:45 PM

Ok

Understud

Thank you very much

Best Regars


Grant Mar 10, 2014 12:02 AM

I solved this problem with

Public Rain, RainDay

PulseCount (Rain,P_SW,2,0,0.2,0)

RainDay=RainDay+Rain
If FRAC(RainDay)<>0 Then'If the fractional part is not zero
RainDay=RainDay*1000'Give me big number to play with
RainDay=0-RainDay'make it negative
RainDay=FIX(RainDay)'make it the next integer away from zero
RainDay=ABS(RainDay)'make it positive
RainDay=RainDay/1000'make it small again
EndIf

Seems to be working so far

Log in or register to post/reply in the forum.