0

我编写了这个程序来将分数转换为百分比,但我的 goto 命令被跳过了。它通过程序并跳过 if 语句。这是代码:

@echo off

:menu
Echo Fraction to Percent=1
Echo Percent to Fraction =2
set /p choice =Enter the number of your choice:
if choice == 1 goto ftp
if choice == 2 goto ptf
if choice == 3 Exit

:ptf
pause

:ftp
set /p tn= Enter the top number:
set /p bn= Enter the Bottom number:
set /a mtn= %tn% * 100
set /a cf= %mtn% / %bn%
set /a cf2= %cf% * 10000
set /a mtn3= %tn% * 1000000
set /a cf3= %mtn3% / %bn%
set /a cf4= %cf3% - %cf2%
set /a cf5= %cf2% / 10000
echo %cf5%.%cf4%
goto continue


:continue
set /p con =Continue? (y/n):
if con ==y goto ftp 
if con ==n goto menu
4

1 回答 1

1

问题

在这一行:set /p choice =Enter the number of your choice:
choiceis a var so 因此它应该被引用为 var 像 so
%choice%而不是choiceso 作为 if 我建议做...
if "%choice%"=="1" goto ftp

提示


尝试在维基百科(批处理文件)页面示例上添加引号,
if "%choice%"=="1" goto shutdown
还可以在此处查看有关 if 语句的更多信息:http ://www.robvanderwoude.com/if.php

于 2013-09-10T02:58:16.043 回答