Ответ 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
, где вы можете явно указать культуру