There is a GNU utility called numfmt, part of the GNU coreutils collection of tools, that looks as if it could be useful here. It allows you to format numerical values, and the following command would format all values in file2.csv using the printf format string %.3f ("floating point value with three decimals of precision"). The formatted values would be printed on standard output:
$ numfmt --format=%.3f <file2.csv
0.200
0.334
0.112
As you can see, it uses "from-zero" rounding by default, but this can be changed with e.g. --round=nearest:
$ numfmt --format=%.3f --round=nearest <file2.csv
0.200
0.334
0.111
You may slot this into your paste command with a process substitution like so:
paste -d , file1.csv <( numfmt --format=%.3f --round=nearest <file2.csv ) file3.csv
If your file is a CSV file that is not "simple", i.e. it may contain quoted fields, then you may want to use a CSV-aware tool, such as Miller (mlr) to process the data. The following recreates the second numfmt example from above using the fmtnum() function in a put expression using Miller (this function takes a printf format string):
$ mlr --csv -N put '$1 = fmtnum($1, "%.3f")' file2.csv
0.200
0.334
0.111
The --csv and -N options make Miller read the input (and write the output) as header-less CSV.