質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Tcl

Tclは、インタープリタ型のプログラミング言語。リスト処理や連想配列といった特長を持ち、文法もシンプルです。拡張や他言語への組み込みが簡単にでき、アプリケーション拡張にための組み込み言語として用いられます。

Q&A

0回答

342閲覧

Tclでの少数と○○E-05以下になる少数の値の比較

退会済みユーザー

退会済みユーザー

総合スコア0

Tcl

Tclは、インタープリタ型のプログラミング言語。リスト処理や連想配列といった特長を持ち、文法もシンプルです。拡張や他言語への組み込みが簡単にでき、アプリケーション拡張にための組み込み言語として用いられます。

0グッド

0クリップ

投稿2019/05/23 03:46

編集2022/01/12 10:55

初質問で言葉足らずや情報不足等あると思いますが、どうかお力添えをお願いいたします。

前提・実現したいこと

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] など少数に関係のありそうなものは試してみたのですが返ってくる値が指数となっております。
計算結果のリストをソートすると実際はとても小さい値である指数表記のものは大きな値としてソートされておりました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問