2016-12-23 16 views
0

2つの浮動小数点数を比較する必要がありますが、常に出力に固執します...私が何を入力しても、出力は常に同じです。私はウェブで検索していましたが、いくつかの記事を見つけましたが、どれも私を助けませんでした。ここでは、コードCMD入力から2つの数字を比較する

@echo off 
    SETLOCAL ENABLEDELAYEDEXPANSION 

    set /p first = First: 
    set /p second = Second: 
    IF !first! GTR !second! (GOTO One) ELSE (GOTO Two) 

    :One 
    ECHO first 
    GOTO Done 

    :Two 
    IF !first! LSS !second! (ECHO second) ELSE (ECHO Equal) 
    GOTO Done 

    :Done 
    pause 
+0

使用しようとしているコマンドのヘルプをお読みください。それは通常あなたのための答えを持っています。 SETコマンドのヘルプを読むと、いずれの例でも等号記号の前にスペースがないことがわかります。 – Squashman

+0

番号を管理するすべてのバッチコマンドは、_integer_番号のみを管理できることに注意してください。 2つの「浮動小数点数」を「IF」コマンドと比較すると、数値は文字列として扱われます。それを試してください: 'IF 123.456 LSS 2.789 ECHOこれは間違っています ' – Aacini

答えて

0
set /p first = First: 

set /p first=First: 

スペースであるべきであるsetの両側に重要である - スペースは、変数名に含まれることになります。

+0

それは、ありがとう! –

+0

...しかし、スペースは** set/aでは意味がありません** – Magoo

+0

はい、これは本当ですが、これで問題は解決しません。 – PryroTech

関連する問題