cmd - 号码无效。数字限制为32位精度

时间:2017-12-30 16:34:14

标签: batch-file cmd

这是我的代码。我不知道,如何使用十进制数字。我找到了一个提示,例如: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

1 个答案:

答案 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