The Locale is optional if the string has only numbers and decimal point (“1123.45”), the locale is required if the number has local formatting (“$1,123.45”,“1.123,45€”).
Sub Open()
Var locale As Locale = Locale.Current
Dim c1,c2, c3, c4, c5 As Currency
Try
c1 = Currency.FromString("123.45")
c2 = Currency.FromString("$123.45")
c3 = Currency.FromString("$123.45",locale)
Catch e As runtimeexception
Break
End Try
End Sub