Board logo

标题: [数值计算] set /a 能否计算小数/浮点数 [打印本页]

作者: zqy    时间: 2008-10-25 23:44     标题: set /a 能否计算小数/浮点数

本帖最后由 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等..
但是不能使用小数,我想使用小数
作者: pusofalse    时间: 2008-10-25 23:57

批处理在计算小数方面非常弱,单纯的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 编辑 ]
作者: zqz0012005    时间: 2008-10-26 00:36

数字运算是bat的软肋,推荐用vbs
  1. a=inputbox("请输入计算题目,如","输入","1+2/3")
  2. WScript.Echo a & " = " & FormatNumber(eval(a),,-1)
复制代码

作者: zqy    时间: 2008-10-30 19:57

哦..
vbs啊?
作者: savage    时间: 2008-10-30 20:15

http://user.qzone.qq.com/24807208/blog/1225183784

[ 本帖最后由 savage 于 2008-10-30 20:16 编辑 ]
作者: savage    时间: 2008-10-30 20:16

http://user.qzone.qq.com/24807208/blog/1225183784
这里边有你想要的
VBS




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