首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >批处理脚本-如何解决算术错误

批处理脚本-如何解决算术错误
EN

Stack Overflow用户
提问于 2022-09-16 16:43:58
回答 1查看 51关注 0票数 -1

我对批处理脚本非常陌生。

我得到了这个错误,也不知道如何解决。我应该得到金额(毫升) =9.375,而不是得到5。

我试着想出剂量计算器

整体思路是取适量,体重15公斤,剂量15 kg/kg。溶液强度为120 5ml/5ml。

所以这个数字是(15*15)/120*5=9.375ml

我可能在哪里出问题了?

代码语言:javascript
复制
@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
EN

回答 1

Stack Overflow用户

发布于 2022-09-16 17:00:07

在批处理中没有浮点算法.set /a (这是cmd中唯一会算术的东西)只能处理整数(确切地说:INT32)。您可以编写一些杂乱无章的代码来“手动”完成,或者使用另一种语言(例如PowerShell)的帮助,并使用for /f循环获得它的输出。

(为演示而简化的代码)

代码语言:javascript
复制
@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%
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73747988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档