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

[数值计算] set /a 能否计算小数/浮点数

[复制链接]
发表于 2008-10-25 23:44:39 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-11-26 02:57 编辑

set使用小数的方法

看了教程/a是数字变量,但是没有看到小数变量啊

我想实现计算器的功能
  1. @echo off
  2. set /p pr=请输入计算题目,如(a+1,1*1)
  3. echo 您输入的是%pr%
  4. set /a in=%pr%
  5. echo 计算结果为%in%
  6. pause
复制代码
在里面直接输入计算题目,如1+1,1*1等..
但是不能使用小数,我想使用小数

评分

参与人数 1PB -2 收起 理由
pusofalse -2 分类错误

查看全部评分

发表于 2008-10-25 23:57:56 | 显示全部楼层
批处理在计算小数方面非常弱,单纯的set /a n=10/4,并不能将n的值设为2.5,只是舍去小数部分取整数2。
若要计算小数其中设计的计算就太复杂了。。。
给你个例子:
  1. @echo off
  2. set n=121
  3. for /l %%a in (1 1 11) do (
  4.        set/a m=n/4,mod=n%%4
  5.        if %%a equ 1 (call set "var=%%var%%%%m%%.") else (call set "var=%%var%%%%m%%")
  6.        call set "n=%%mod%%0"
  7. )
  8. echo %var%
  9. pause
复制代码
121/4=?
精确到小数点后10位。

[ 本帖最后由 pusofalse 于 2008-10-26 06:25 编辑 ]
发表于 2008-10-26 00:36:57 | 显示全部楼层
数字运算是bat的软肋,推荐用vbs
  1. a=inputbox("请输入计算题目,如","输入","1+2/3")
  2. WScript.Echo a & " = " & FormatNumber(eval(a),,-1)
复制代码
 楼主| 发表于 2008-10-30 19:57:57 | 显示全部楼层
哦..
vbs啊?
发表于 2008-10-30 20:15:11 | 显示全部楼层
http://user.qzone.qq.com/24807208/blog/1225183784

[ 本帖最后由 savage 于 2008-10-30 20:16 编辑 ]
发表于 2008-10-30 20:16:17 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 12:18 , Processed in 0.013055 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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