
No.1ベストアンサー
- 回答日時:
例え1000桁にしても、浮動小数点実数型では1.0/3は3分の1にはなりません。
計算によっては誤差がどんどん溜まっていきます。そういう精度が気になる用途なら、Rational を使いましょう。
Rationalは分数型なので、3で割って3倍したら元の数に戻ります。
---
require "rational"
def test(value, count)
step = value / count
sum = value * 0
count.times do
sum += step
end
print step," * ",count," - ",value," = ",(sum - value),"\n"
end
test(Rational(1), 300)
test(1.0, 300)
---
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
value内に変数を入れたい
-
hiddenのvalueの値を変えたい
-
javascriptでhiddenに二次元配...
-
sessionStorageを調べています。
-
name属性が同じフォームが複数...
-
Javascriptの小ウインドウから...
-
セレクトボックスの初期選択状...
-
複数のテキストフォームに対し...
-
JavaScriptによる自動計算フォ...
-
JavaScriptでHTML上のフォーム...
-
複数のsubmitボタンで押された...
-
ループで連続したフォームの値...
-
eval()を使わずに数値を取得し...
-
JavaScriptでランダムで画像を...
-
history.backの前に値をクリア...
-
TextBoxに半角数字以外を入れた...
-
return trueとreturn falseの用...
-
Selectの中身をfor文で入れる
-
onclickが動作しない
-
CSVファイルを読みこみ、プルダ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
value内に変数を入れたい
-
hiddenのvalueの値を変えたい
-
テキストボックスに入力された...
-
3つ以上の数値の中から、最も...
-
javascriptでhiddenに二次元配...
-
どのボタンがクリックされたの...
-
複数のsubmitボタンで押された...
-
これはAnd演算に変えてよいか?
-
VB.NET DateTimeの型について
-
HP内に検索エンジンを置きたい...
-
UART通信の取説で,left floati...
-
setIntervalの間隔を途中で変更...
-
jsで、配列内の文章を改行する...
-
ラジオボタンとテキストを同時...
-
[JavaScript+<select>]最初から...
-
プルダウンメニューリンクを新...
-
selectboxのoptionタグのvalue...
-
ラジオボタンを押して計算結果...
-
ループで連続したフォームの値...
-
[C#]連想配列の中に配列を入れたい
おすすめ情報