[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[数值计算] 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等..
但是不能使用小数,我想使用小数
1

评分人数

砂石下的泉水,掘得越深,泉水会越清吗?

批处理在计算小数方面非常弱,单纯的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 编辑 ]
心绪平和,眼藏静谧。

TOP

数字运算是bat的软肋,推荐用vbs
  1. a=inputbox("请输入计算题目,如","输入","1+2/3")
  2. WScript.Echo a & " = " & FormatNumber(eval(a),,-1)
复制代码
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

哦..
vbs啊?
砂石下的泉水,掘得越深,泉水会越清吗?

TOP

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

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

TOP

TOP

返回列表