Full Rewrite.

Some notes...

Don't include nuget package DLLs in source control.

Keep the user interface of your classes small.

.NET already has CultureInfo support which enumerates specific and parent cultures for us.
Not in the case of DateTime and (double)currency.