找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27903|回复: 10

[数值计算] 批处理怎么做到精准到万分位!小数点后4位数

[复制链接]
发表于 2014-12-16 09:35:09 | 显示全部楼层 |阅读模式
  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%
。。。。。。
。。。。。。
。。。。。
可以吗?
发表于 2014-12-16 12:55:00 | 显示全部楼层
BAT不支持直接进行浮点数计算
发表于 2014-12-16 12:55:37 | 显示全部楼层
可以参考别人的代码:
http://bbs.bathome.net/thread-3322-1-1.html
 楼主| 发表于 2014-12-16 17:13:26 | 显示全部楼层
我去 这 这 真纠结啊 批处理竟然不能 用来 算数  yun晕了
发表于 2014-12-16 22:30:24 | 显示全部楼层
回复 4# ads350668398


    确实很纠结,当年我发现BAT无法下载QQ币的时候也觉得很失望。
发表于 2014-12-17 21:54:08 | 显示全部楼层
回复 5# DAIC


    膜拜
 楼主| 发表于 2014-12-26 06:52:51 | 显示全部楼层
本帖最后由 ads350668398 于 2014-12-26 06:53 编辑

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


好烦 啊 那个好头像 好看点啊 晕
发表于 2014-12-26 10:44:52 | 显示全部楼层
本帖最后由 shelluserwlb 于 2014-12-26 10:49 编辑

批处理不支持小数,你可以其它方法实现相关功能。比如说除法:你可以把余数*10再除以除数得到1位小数,然后再利用循环来此功能,你要精确几位就循环几次。 总之是很复杂,总结:  批处理不适合做含有小数运算的程序。
发表于 2014-12-26 11:29:20 | 显示全部楼层
回复 8# shelluserwlb


    我比较推荐在BAT里面调用PowerShell或VBS进行数值计算。除非楼主是想深入学习BAT的语法(虽然我比较怀疑这一点)。
发表于 2014-12-26 15:23:59 | 显示全部楼层
本帖最后由 shelluserwlb 于 2014-12-26 15:30 编辑

回复 9# DAIC

感觉有点得不偿失了,如果楼主有这时间和精力,建议去学习一下VBS.  简单的程序用批处理,复杂的用VBS。
发表于 2020-8-29 01:03:22 | 显示全部楼层
批处理不支持小数,你可以其它方法实现相关功能。比如说除法:你可以把余数*10再除以除数得到1位小数,然后 ...
shelluserwlb 发表于 2014-12-26 10:44



    那怎么知道余数是多少啊 求解
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 03:54 , Processed in 0.021289 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表