Use a Negative lookahead (see syntax)
For example:
((?:[-+]?)(?:[0-9]+)(?:.{1})(?:[0-9]+)(?:[eE]?[+-]?[0-9]+)?)(?!f)
And your replace pattern is
$1f
Note that I've replaced your capture groups with passive groups and added a single group for the number
EDIT: Alternative (have only tested with your test string...)
((?:[-+]?)(?:[0-9]+)(?:.{1})(?:[0-9]+)(?:[eE]?[+-]?[0-9]+)?)([^f]?,|$)
replacing with
$1f$2