
Widnowsのバッチファイル内で使うsetコマンドの小数の問題で悩んでいます。
例えば、以下の線内の様なバッチファイルを実行したとします。
「2.0」以上の数値であれば、その数値を表示するというものです。
------------------------------
@echo off
if 1.0 GEQ 2.0 echo 「1.0」
if 2.0 GEQ 2.0 echo 「2.0」
if 3.0 GEQ 2.0 echo 「3.0」
if 4.0 GEQ 2.0 echo 「4.0」
if 5.0 GEQ 2.0 echo 「5.0」
if 6.0 GEQ 2.0 echo 「6.0」
if 7.0 GEQ 2.0 echo 「7.0」
if 8.0 GEQ 2.0 echo 「8.0」
if 9.0 GEQ 2.0 echo 「9.0」
if 10.0 GEQ 2.0 echo 「10.0」
if 11.0 GEQ 2.0 echo 「11.0」
if 12.0 GEQ 2.0 echo 「12.0」
if 13.0 GEQ 2.0 echo 「13.0」
if 14.0 GEQ 2.0 echo 「14.0」
if 15.0 GEQ 2.0 echo 「15.0」
if 16.0 GEQ 2.0 echo 「16.0」
if 17.0 GEQ 2.0 echo 「17.0」
if 18.0 GEQ 2.0 echo 「18.0」
if 19.0 GEQ 2.0 echo 「19.0」
if 20.0 GEQ 2.0 echo 「20.0」
if 21.0 GEQ 2.0 echo 「21.0」
if 22.0 GEQ 2.0 echo 「22.0」
if 23.0 GEQ 2.0 echo 「23.0」
if 24.0 GEQ 2.0 echo 「24.0」
if 25.0 GEQ 2.0 echo 「25.0」
if 26.0 GEQ 2.0 echo 「26.0」
if 27.0 GEQ 2.0 echo 「27.0」
if 28.0 GEQ 2.0 echo 「28.0」
if 29.0 GEQ 2.0 echo 「29.0」
if 30.0 GEQ 2.0 echo 「30.0」
if 31.0 GEQ 2.0 echo 「31.0」
pause
------------------------------
上記を実行すると、何故か「10.0」から「19.0」までの結果が表示されません。
小数点以下「.0」を付けないとうまく表示されます。
この原因は何で、どうしたら解決するのでしょうか。
また、setコマンドでは解決できない場合、setコマンドを使わずに同様の事をする方法はあるでしょうか。
ご存知の方がおられましたら、お教え頂けないでしょうか。
No.1ベストアンサー
- 回答日時:
バッチファイルでは実数(小数点を含む数値)をそのまま扱うことはできません。
一度文字列として展開し小数点を取り除いた値の桁合わせを行ったのちに比較してはいかがでしょう。
この回答への補足
無事に目的の処理を書く事が出来ました。ありがとうございました。
あと、「setコマンド」とタイトルに入れましたが、本文のバッチファイルの例で、setコマンドを使っていませんでした。
実用しているバッチファイルではsetコマンドを使っているのですが、本文を書く際に、見やすい記述に変えようと思い、うっかり消してしまいました。失礼しました。
ですので、これはWindowsのコマンドプロンプトの仕様と思った方がいいのかも知れませんね。
大変助かりました。本当にありがとうございました。
ご回答、ありがとうございます。
やはり、その様な処理をしないといけないのですね。
よく分かりました。やってみます。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Linuxのbash環境下です。 1 2022/11/27 12:31
- その他(プログラミング・Web制作) test([)コマンドによる条件判定 2 2022/08/10 12:28
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- その他(プログラミング・Web制作) 単純なコマンドプロンプトが動きません。 2 2022/04/19 15:21
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
バッチファイルでpingの結果を...
-
ゼロとNULLを区別して number_f...
-
バッチファイル 作成 echo で...
-
phpでcookieがうまく保存されない
-
shシェルスクリプト 空白行の...
-
switch文の中でforeach
-
DBから抽出したデータにを別テ...
-
switch()文で値の大小比較
-
Excel VBA:特定の文字列以降(...
-
URLのパラメータをGETのままで...
-
EXCEL、マクロ-改ページ行番号...
-
PHPで値を保持する方法
-
JavaからPHPへの値の受け渡し
-
WordでExcelデータを差込...
-
OleDbDataReaderで単精度浮動小...
-
「取得先」という表現について
-
日付の比較方法
-
セッションファイルの有効期限...
-
Yahoo! JAPAN IDを新規取得でき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
switch()文で値の大小比較
-
findstrのerrorlevel
-
小数点以下0の非表示
-
syntax error, unexpected 'ech...
-
pdftkを使った処理をバッチファ...
-
phpでcookieがうまく保存されない
-
コマンドプロンプト フォルダ内...
-
XMLのタグの有無をPHPで判定し...
-
ゼロとNULLを区別して number_f...
-
バッチファイルで、全てのウィ...
-
DBのハッシュ化したパスワード...
-
Windowsのsetコマンドでの小数...
-
オブジェクトの中身の判定(PHP)
-
bashの関数の引数にスペースが...
-
訪問回数で表示するFLASHを変える
-
batファイルでPC名称の変更
-
print と echo の違い
おすすめ情報