Changing value bug

I’ve experienced a bug that I cannot get around. I have no clue how this has occurred. Only one script is updating the value.

Code:

value.Value = value.Value - 0.1

Result:
2.9
2.8
2.6999999999999997
2.5999999999999996
2.4999999999999996
2.3999999999999995
2.2999999999999994
2.1999999999999993
2.099999999999999
1.9999999999999991
1.899999999999999
1.799999999999999
1.6999999999999988
1.5999999999999988
1.4999999999999987
1.3999999999999986
1.2999999999999985
1.1999999999999984
1.0999999999999983
0.9999999999999983
0.8999999999999984
0.7999999999999984
0.6999999999999984
0.5999999999999984
0.49999999999999845
0.39999999999999847
0.2999999999999985
0.19999999999999848
0.09999999999999848
-1.5265566588595902e-15

Welcome to floating-point error :partying_face: !

Because of the nature of how decimals are stored on computers, this happens. It is not a bug. If it really messes with your code, try using whole numbers instead of decimals.