Consider package readr - it is is faster than the base equivalent and gives you more control.
I expect that this code should give you the result you seek:
readr::read_delim("path-to-yer-file.csv", delim = ";",
locale = readr::locale(decimal_mark = ".",
grouping_mark = ","))