Ruby と Latex をいじって、レジスターの色分けセットを作成しました。次のコードブロックがあります。これを実行しようとすると、band1=1e+02.
band1=を試してみ(BigDecimal(i) * 100).to_fましたが、奇妙な浮動小数点の問題があったのではないかと考えました。整数を整数で乗算すると、整数が作成されます。他にもいろいろ試してみましたがだめでした。
(1..9).each do |i|       #Band 1
  (0..9).each do |j|     #Band 2
    (0..11).each do |k|  #Band 3
      #Band 3 Start
      #these are the colors of the resistor bands
      b1 = $c_band12[i]
      b2 = $c_band12[j]
      b3 = $c_band3[k]
      b4 = "Gold"
      oms = ((i*100) + (j*10)) * $mult[k]
      band1 = i*100
      band2 = j
      band3 = $mult[k]
    end
  end
end
何が欠けているのかわからない。each_with_indexこれらの繰り返しで使用する必要がありますか? 私はこれを試しました:
(1..9).each_with_index {|i, indexi|       #Band 1
  (0..9).each_with_index {|j, indexj|     #Band 2
    (0..11).each_with_index {|k, indexk|  #Band 3
      #Band 3 Start
      #these are the colors of the resistor bands
      b1 = $c_band12[i]
      b2 = $c_band12[j]
      b3 = $c_band3[k]
      b4 = "Gold"
      oms = ((i*100) + (j*10)) * $mult[k]
      band1 = indexk * 100
そして私は同じ答えを得ました。1*100なぜそんなに大きな数に等しいのかわかりません。
編集:追加情報:これがあれば:band1=i*10 
計算は正しいです。実際、計算は 99 まで正しいです。