This is a little confusing, why is it like this?
Console.WriteLine(IsNumeric("$0")) - False
Console.WriteLine(IsNumeric("€0")) - False
Console.WriteLine(IsNumeric("£0")) - True
Console.WriteLine(IsNumeric("£")) - False
Seems pretty weird to me, what’s the reason it does this
Edit: works on the end as well:
Console.WriteLine(IsNumeric("300£")) - True
Console.WriteLine(IsNumeric("300£0")) - False
Console.WriteLine(IsNumeric("£300£")) - False
Living in Italy – running on Italian locale
while this will give you back always true
So we could conclude that IsNumeric (originally defined in VB6 runtime) is
smartenough to exclude from its parsing the current locale currency symbols if they precede or follow the input string.