Не должно быть ничего особенного в разборе отрицательных чисел по сравнению с положительными числами.
float f = Float.parseFloat("-1.0");
Приведенный выше код должен прекрасно работать.
Что может быть неправильным в вашем коде, так это то, что вы пытаетесь проанализировать число с плавающей точкой с неправильным десятичным разделителем. Если ваша локаль имеет .
в качестве десятичного разделителя, приведенный выше код в порядке. Однако, если в вашей локали в качестве десятичного разделителя используется ,
, синтаксический анализ завершится неудачно (с NumberFormatException
).
Поэтому убедитесь, что оригинал разделен правильно, и что каждая из частей после разделения имеет допустимый формат (например, с правильным десятичным разделителем).
Обновление:
Если вы хотите знать, как анализировать число с использованием определенной локали, вы можете, например, посмотреть этот вопрос .