Подтвердить что ты не робот

F # преобразование строки в float

У меня есть простая проблема, которую я не смог понять. У меня есть программа, которая должна читать поплавок с ввода. Проблема в том, что это будет как строка, и я не могу, чтобы жизнь меня определяла, как преобразовать ее в float (да, я полный newb).

let searchString = args.[0]
let myFloat = hmm hmmm hmmmm
4b9b3361

Ответ 1

Был вопрос, связанный с другим способом. Это немного сложно, потому что формат с плавающей запятой зависит от текущей культуры ОС. Функция float работает с числами в формате инвариантной культуры (что-то вроде "3.14" ). Если вы плаваете в зависимом от культуры формате (например, "3,14" в некоторых странах), вам нужно использовать Single.Parse.

Например, на моей машине (с настройками чешской культуры, которая использует "3,14" ):

> float "1.1";;
val it : float = 1.1
> System.Single.Parse("1,1");;
val it : float32 = 1.10000002f

Обе функции генерируют исключение, если вызываются наоборот. Метод Parse также имеет перегрузку, которая принимает CultureInfo, где вы можете явно указать культуру

Ответ 2

let myFloat = float searchString

Просто как это.