Board logo

标题: [数值计算] 批处理怎么做到精准到万分位!小数点后4位数 [打印本页]

作者: ads350668398    时间: 2014-12-16 09:35     标题: 批处理怎么做到精准到万分位!小数点后4位数

  1. echo off
  2. setlocal enabledelayedexpansion
  3. set /a z=502 / 111
  4. set /a y=z * 9.61
  5. set /a s=y * 0.051
  6. set /a c=y + s
  7. set /a cc=c + 0.11
  8. set /a v=cc / 502
  9. echo %z% %y% %s% %c% %cc% %v% >>精准到万分位.txt
  10. pause
复制代码
**********
运行结果:

F:\推演>echo off
运算符不存在。
运算符不存在。
运算符不存在。
请按任意键继续. . .

我想精确计算 到小数点后四位数 可是 为什么这样啊 我哪里错了吗??
另外
set / p a1=输入数值
set /a z=502 / %a1%
。。。。。。
。。。。。。
。。。。。
可以吗?
作者: DAIC    时间: 2014-12-16 12:55

BAT不支持直接进行浮点数计算
作者: DAIC    时间: 2014-12-16 12:55

可以参考别人的代码:
http://bbs.bathome.net/thread-3322-1-1.html
作者: ads350668398    时间: 2014-12-16 17:13

我去 这 这 真纠结啊 批处理竟然不能 用来 算数  yun晕了
作者: DAIC    时间: 2014-12-16 22:30

回复 4# ads350668398


    确实很纠结,当年我发现BAT无法下载QQ币的时候也觉得很失望。
作者: mms0536    时间: 2014-12-17 21:54

回复 5# DAIC


    膜拜
作者: ads350668398    时间: 2014-12-26 06:52

本帖最后由 ads350668398 于 2014-12-26 06:53 编辑

什么膜拜  某人在嘲笑 某人#4


好烦 啊 那个好头像 好看点啊 晕
作者: shelluserwlb    时间: 2014-12-26 10:44

本帖最后由 shelluserwlb 于 2014-12-26 10:49 编辑

批处理不支持小数,你可以其它方法实现相关功能。比如说除法:你可以把余数*10再除以除数得到1位小数,然后再利用循环来此功能,你要精确几位就循环几次。 总之是很复杂,总结:  批处理不适合做含有小数运算的程序。
作者: DAIC    时间: 2014-12-26 11:29

回复 8# shelluserwlb


    我比较推荐在BAT里面调用PowerShell或VBS进行数值计算。除非楼主是想深入学习BAT的语法(虽然我比较怀疑这一点)。
作者: shelluserwlb    时间: 2014-12-26 15:23

本帖最后由 shelluserwlb 于 2014-12-26 15:30 编辑

回复 9# DAIC

感觉有点得不偿失了,如果楼主有这时间和精力,建议去学习一下VBS.  简单的程序用批处理,复杂的用VBS。
作者: cc5511    时间: 2020-8-29 01:03

批处理不支持小数,你可以其它方法实现相关功能。比如说除法:你可以把余数*10再除以除数得到1位小数,然后 ...
shelluserwlb 发表于 2014-12-26 10:44



    那怎么知道余数是多少啊 求解




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2