How many decimal places is really just for display/output purposes. It isn't to do with how floating point numbers are stored. If you want to display a number with only 2 dp then there are ways with std::format etc to do this. But this isn't for how the numbers are stored.

if the user enters 6.215 => should i round off the input to 6.22 Or should i ignore the value as not valid.
Whether the input is valid is not is for you to decide. If you really, really want to try to round a floating point number to a certain number of decimals then consider:
https://stackoverflow.com/questions/...-in-c-language
https://stackoverflow.com/questions/...mal-point-in-c