<p>In .Net (VB more specifically, but that doesn't really matter), is there a way to change the format of a number from one culture to another strictly through the that number's type? </p>

<p>The issue is this: In English, the number is say, 123.45.  Whereas in Sweden, the number would be 123,45</p>

<p>Is there a way to convert 123,45 to 123.45 without having to convert it to a string (and then use the formatting methods) then convert it back to the correct type (single, double, etc)?</p>

Leave it as a number.  Change the cultureInfo of the thread and it will display accordingly with no need of conversion.
E.g.
```
```
Thread.CurrentThread.CurrentCulture = New CultureInfo("se-SE")
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture
```
```
Never try and specifically format numbers or dates into strings or you will be on your way to hell.
UPDATE: Jon makes a point to be aware of in comments, you'll know if it applies to your situation or not.