这是我的代码。我不知道,如何使用十进制数字。我找到了一个提示,例如:3/10(= 0.3)。但我有更多的数字,每次错误类型都会让我失望:
“数字无效。数字限制为32位精度。”
有人知道如何修复它吗? 谢谢
@echo off
title Converter
color 0b
goto start
:start
cls
echo Converter 1.0
ping localhost -n 2 >nul
goto menu
:menu
cls
color 0a
echo What to convert?
echo 1) Kcal to Kg
set /p menu=
if %menu%==1 goto kcaltokg
goto unknownsymbol
:unknownsymbol
cls
color 0c
echo Unknown symbol!
goto menu
:kcaltokg
cls
echo Set amount of Kcal:
set /p kcal=
set /a "kcal=%kcal%*1428571428571/10000000000000000"
echo %kcal% kg
pause
答案 0 :(得分:0)
这会产生正确的数学吗?请注意,kcal
变量是文本字符串而不是数字。你不能用它做任何数学运算。此外,我不知道这保留了任何颜色变化。
@echo off
title Converter
color 0b
goto start
:start
cls
echo Converter 1.0
ping localhost -n 2 >nul
goto menu
:menu
cls
color 0a
echo What to convert?
echo 1) Kcal to Kg
set /p menu=
if %menu%==1 goto kcaltokg
goto unknownsymbol
:unknownsymbol
cls
color 0c
echo Unknown symbol!
goto menu
:kcaltokg
cls
echo Set amount of Kcal:
set /p kcal=
FOR /F "usebackq" %%n IN (`powershell -NoProfile -Command %kcal%*1428571428571/10000000000000000`) DO (SET "kcal=%%n")
echo %kcal% kg
pause