I am working in C++ and having issues with the precision of reading in a double

```
input_file>>temp_double;

```

the number in the file is something like 1234.567 but when it reads in, it reads as 1234.56699999999. So how can I get it to read as it is in the file, I use the amount of decimals in later functions so I need it to be proper. the numbers in the file range from 3-5 decimal places