Я пытался получить корень куба в F #. Но вот моя проблема.
let x5 = ((float 64) ** (1.0/3.0));; val x5 : float = 4.0 int x5;; //expected 4 val it : int = 3
Результат должен быть 4, а не 3.
Что не так?
Нет ничего плохого, дело в том, что значение вашего x5 немного меньше , чем 4.0. Вы можете явно увидеть, насколько меньше с помощью fsi:
let x5 = ((float 64) ** (1.0/3.0)) let err = 4.0 - x5;; val x5 : float = 4.0 val err : float = 4.440892099e-16
Похоже, вы смотрите не на ту переменную.
Я сам проверил, и вот пример:
http://ideone.com/kn9jd
(ideone - бесплатная онлайн-служба компиляции / исполнения).