我对批处理脚本非常陌生。
我得到了这个错误,也不知道如何解决。我应该得到金额(毫升) =9.375,而不是得到5。
我试着想出剂量计算器
整体思路是取适量,体重15公斤,剂量15 kg/kg。溶液强度为120 5ml/5ml。
所以这个数字是(15*15)/120*5=9.375ml
我可能在哪里出问题了?
@echo off
Title Syrup dose calculator
color 5a
set /p weight= Enter child's weight:
set /p dose= Enter required dose in mg/kg:
set /a totaldose= %weight%*%dose%
set /a amountml = ((%weight%*%dose%)/120)*5)
echo.
echo Total(mg) :%totaldose%
echo Amount(ml) : %amountml%
echo.
pause
goto loop发布于 2022-09-16 17:00:07
在批处理中没有浮点算法.set /a (这是cmd中唯一会算术的东西)只能处理整数(确切地说:INT32)。您可以编写一些杂乱无章的代码来“手动”完成,或者使用另一种语言(例如PowerShell)的帮助,并使用for /f循环获得它的输出。
(为演示而简化的代码)
@echo off
setlocal
set weight=15
set dose=15
set /a totaldose=%weight%*%dose%
for /f "delims=" %%a in ('powershell %weight%*%dose%/120*5') do set amountml=%%a
echo Total(mg) : %totaldose%
echo Amount(ml) : %amountml%https://stackoverflow.com/questions/73747988
复制相似问题