That's because the format string you gave is for numerical arguments, not strings. It will simply be ignored if the argument is a string.
You can pass the argument as a number instead, and use something like
{0:0000'.'000'.'000}
as the format string. Quick PowerShell test:
PS> "{0:0000'.'000'.'000}" -f 145655789
0145.655.789