![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
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も見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
-
4
バッチファイル 二つ上のディレクトリのパス取得
その他(プログラミング・Web制作)
-
5
Dirコマンドでフォルダ内ファイルの合計サイズをだすには?(コマンドプロンプトにて)
UNIX・Linux
-
6
.txtファイルの空白を全て消去(データ間を詰める)
その他(パソコン・スマホ・電化製品)
-
7
Dosブロンプトでtabを出力したい
その他(プログラミング・Web制作)
-
8
DOSコマンドでのワイルドカードの使い方
Windows Vista・XP
-
9
バッチファイルからタスクスケジュールに値を返す
iOS
-
10
コマンドプロンプトでファイル名に含まれるスペースを別の文字に置換したい
その他(プログラミング・Web制作)
-
11
ファイルの先頭行を全て削除したい
Windows Vista・XP
-
12
バッチファイルでディレクトリの使用容量を取得したい
ネットワーク
-
13
バッチで特定文字が含まれる先頭行を取得したい
Windows Me・NT・2000
-
14
バッチ処理でディスクの使用領域を確認する方法
Windows 7
-
15
python エラー
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
phpでcookieがうまく保存されない
-
バッチファイルでpingの結果を...
-
データベースから出力したデー...
-
shシェルスクリプト 空白行の...
-
オブジェクトの中身の判定(PHP)
-
文字化け(Shift-jis→UTF-8変換...
-
ページ表示ごとにカウントダウ...
-
bashの関数の引数にスペースが...
-
PHPで日付の入力内容をチェック...
-
findstrのerrorlevel
-
switch()文で値の大小比較
-
phpにおいて$xを計算式の文字列...
-
foreachで回った数を表示したい
-
私の考えがそもそも、間違って...
-
1行でかくIF文が作用しない
-
'2/1'を'02/01'に変換 (修正版)
-
小数点以下0の非表示
-
ifの条件(不等号)を動的に埋...
-
Windowsのsetコマンドでの小数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
switch()文で値の大小比較
-
findstrのerrorlevel
-
syntax error, unexpected 'ech...
-
phpでcookieがうまく保存されない
-
小数点以下0の非表示
-
バッチファイルで、全てのウィ...
-
ゼロとNULLを区別して number_f...
-
Windowsのsetコマンドでの小数...
-
オブジェクトの中身の判定(PHP)
-
DBのハッシュ化したパスワード...
-
XMLのタグの有無をPHPで判定し...
-
pdftkを使った処理をバッチファ...
-
batファイルでPC名称の変更
-
bashの関数の引数にスペースが...
-
変数の中の<br>を消したい
-
csvの特定のキーワードを指定し...
-
PHP 九九表
おすすめ情報