how StrToDouble works exactly?

 
Hi i want to read form csv file. The data is for instance: EURUSD;1.5510;

when i do this:

double Price=StrToDouble(FileReadString(handle));
when i print it i get

1.55100000 the value but with 4 zeros more. Also the problem exist even if i make tihis:

NormalizeDouble(StrToDouble(FileReadString(handle)),4);
why is that? can some one explain pleace?
 
When you print it, use DoubleToStr() to set the number of digits after the decimal.
 
thanks