初質問で言葉足らずや情報不足等あると思いますが、どうかお力添えをお願いいたします。
前提・実現したいこと
Tclでの入力された少数とある計算結果の少数との比較(○○E-05以下との比較にも対応)
この度、触れたことのなかった言語Tclでスクリプトを記述しており、その中でユーザーの入力した少数と指数にすると○○E-05以下の数値との比較を行いたいと考えております。
発生している問題
入力した少数との比較を行う際に比較対象の計算結果が○○E-04以上になる場合は正常に動作しているのですが、どうにも○○E-05以下になる場合には自動的に指数として返ってきており、その返り値との比較を行うと○○E-05の○○の部分との比較になってしまっているようです。
(○○の部分との比較になっているというのはリストの値をソートして出力してみたところ指数のものが大きなものとして扱われていたためにそう判断しております。この考えも間違っているかもしれません)
該当のソースコード
Tcl
1set userinput 0.0 ;#ユーザーの入力値(少数)。実際にはテキストボックス等で入力してセットします。 2set resultList ○○ ;# 計算結果のリスト 繰り返し処理で計算した結果を格納しておきます。 3for { set i 0 } { $i < $resultListの数 } { incr i 1 } 4#計算結果とユーザーの入力した少数との比較を行います 5 if { [lindex $resultList $i] < $userinput } { 6 puts [linedx $resultList $i] ;#計算結果が入力値より大きな場合出力する。 7 } 8}
試したこと
double() [scan %f] など少数に関係のありそうなものは試してみたのですが返ってくる値が指数となっております。
計算結果のリストをソートすると実際はとても小さい値である指数表記のものは大きな値としてソートされておりました。
あなたの回答
tips
プレビュー