F#でキューブルートを取得しようとしましたが、しかし、ここに私の問題があります。F#でキューブルートを取得する方法
let x5 = ((float 64) ** (1.0/3.0));;
val x5 : float = 4.0
int x5;; //expected 4
val it : int = 3
結果は3
何が問題になっています、4ではないでしょうか?
F#でキューブルートを取得しようとしましたが、しかし、ここに私の問題があります。F#でキューブルートを取得する方法
let x5 = ((float 64) ** (1.0/3.0));;
val x5 : float = 4.0
int x5;; //expected 4
val it : int = 3
結果は3
何が問題になっています、4ではないでしょうか?
あなたが間違った変数を見ているようです。
が、私はそれを自分でチェックし、例はここにある:(。ideone無料オンラインコンパイル/実行サービスである)
が
問題は 'int x5'です – Daniel
私はF#の専門家ではなく、元の投稿のどの行が実際にコードであると思われていて、フォーマットの悪い問題の彼の説明の一部であるはずです。 –
何も間違っていない、事はあることの価値あなたのx5はより少し小さいです。 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
浮動小数点問題のようです。 'int(round x5)' = 4 – Daniel
はい。そのとおり。色々ありがとう。 – dagelee