怎样让批处理计算一个数是另一个数的百分之几?
答案:6 悬赏:0 手机版
解决时间 2021-04-08 20:51
- 提问者网友:斑駁影
- 2021-04-08 06:58
最好是应用第三方工具,别使用For等
最佳答案
- 五星知识达人网友:七十二街
- 2021-04-08 08:02
用批处理计算比较麻烦——只有set /a 带计算功能,但它不支持小数计算,但还是可以编代码处理。对问题补充感到疑惑,难道会有谁专门开发一个供bat用的计算工具(因为系统带得有计算器,很多办公软件也都有数学函数,各编程语言更是有函数库)?
你没说两数用什么形式输入、是否有多组要算、供计算的数是否带有小数以及结果需要的精度,所以就不具体写完整代码了,比如计算整数A是B的百分之几,保留两位小数,四舍五入:
set /a A=A*10000+(B+1)/2
set/a C=A/B
set C1=%C:~,-2%&set C2=%C:~-2%
echo 结果是%C1%.%C2%
这只是个思路,具体写时还要判断结果C是否是纯小数
你没说两数用什么形式输入、是否有多组要算、供计算的数是否带有小数以及结果需要的精度,所以就不具体写完整代码了,比如计算整数A是B的百分之几,保留两位小数,四舍五入:
set /a A=A*10000+(B+1)/2
set/a C=A/B
set C1=%C:~,-2%&set C2=%C:~-2%
echo 结果是%C1%.%C2%
这只是个思路,具体写时还要判断结果C是否是纯小数
全部回答
- 1楼网友:蕴藏春秋
- 2021-04-08 12:48
引用这个问题的采纳答案,回答者是我.
@echo off&setlocal enabledelayedexpansion&pushd %~dp0
for /f "delims=" %%1 in ('type %1')do (set/a a+=1
if !a!==1 sl /sl:"%%1"
set/a x+=%errorlevel%)
echo !x!个字
pause
- 2楼网友:猎心人
- 2021-04-08 11:55
第三方工具?!那你自己写一个dos程序放到system32目录下,就成了外部命令了
- 3楼网友:琴狂剑也妄
- 2021-04-08 10:50
@echo off
set/a h=%shijian%/3600
set/a d=%shijian%%3600/60
set/a s=%shijian%%3600%60
set/a ghj=%d%时%d%分%s%秒
echo ghj=%ghj%
- 4楼网友:怙棘
- 2021-04-08 09:50
@echo off
set /a xs=(%1*100)%%(%2)
set /a zs=(%1*100)/(%2)
echo %zs%.%xs%
- 5楼网友:你哪知我潦倒为你
- 2021-04-08 08:32
给你个链接吧:应该能帮到你
h t t p : / / blog.sina.com.cn/s/blog_6754a1390100k5iu.html
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯