Pesuo code:
// Our variables
float num1;
float num2;
string myString = "(999.08) - (1025.67)";
// Split the data string on - character
arrParts[] = myString.split("-");
// Loop through each resulting split
for int i = 0; i < arrParts.Count; i++)
{
// Trim result to remove whitespace
arrParts[i] = arrParts[i].trim();
// Take all the characters in string except first and last
arrParts[i] = arrParts[i].substring(1, part.length-2);
}
// Cast out numbers
num1 = (float)arrParts[0];
num2 = (float)arrParts[1];
Solution assumptions
Assumes input string is correct format, and that no fewer or more than 2 valid float numbers will be provided.
For range calculation:
Two ways, either subtract either from either and get absolute value to determine range, or take the lengthier method of guaranteeing smaller number is taken for bigger
Notes on regexp
I would argue against using regexp where possible (although this is very subjective) because it can turn reviewing this code in the future into a difficult task.
If you do use regexp make sure you comment in the expected input formats to protect against this.