c++,boost,floating-point,lexical-cast
The problem is that one time you treat the split tokens as strings (leaving them unchanged), and sometimes you convert to float. The conversion to float creates an inexact binary floating point representation. To avoid it, don't use a binary floating point representation, but use a decimal representation with sufficient...