Turning that string into a double is done with
Double.TryParse
However, that other requirement is NOT a double, it's a local representation of that double, in a string, to two DP
Locale dictates grouping, grouping separator and DP character, i.e. that string would be 123.456.789,00 in France
You'd use
FormatNumber[
^] to get that