Board logo

标题: [数值计算] 批处理set /a命令如何实现对小数进行计算 [打印本页]

作者: Taurus    时间: 2009-5-20 23:39     标题: 批处理set /a命令如何实现对小数进行计算

本帖最后由 pcl_test 于 2016-11-26 03:00 编辑

得出答案方面大概己找到方法:
(只得出9位)
@echo off
set /a num=10/3,ts=10%%3
set "ts=%ts%000000000"
set /a v=%ts%/3
echo %num%.%v%
pause

=========================================
但除以小數值卻未找到方法
例如:

@echo off
set /a num=10/1.6180339887498948482045868343656381177203
echo %num%
pause

請問有否實現方法?

(只得出小數位後9位亦可)


[ 本帖最后由 Taurus 于 2009-5-21 00:34 编辑 ]
作者: pusofalse    时间: 2009-5-21 01:03

很遗憾,CMD在运算方面弱得很。不能直接计算小数,而且有最大数的限制。http://bbs.bathome.net/search.ph ... mp;searchsubmit=yes
作者: Taurus    时间: 2009-5-21 01:47

原帖由 pusofalse 于 2009-5-21 01:03 发表
很遗憾,CMD在运算方面弱得很。不能直接计算小数,而且有最大数的限制。http://bbs.bathome.net/search.php?searchid=37&orderby=lastpost&ascdesc=desc&searchsubmit=yes

谢pusofalse兄指教~

在下理解cmd直接计算小数不行,#1 quote是一个例子,因问题难于表达,所以贴上用set命令的例子了;

想请教的是,有否其他方法能不生产暂存文件实现计算呢?例如在cmd调用其他script,不知行不行呢?

谢谢
作者: Batcher    时间: 2009-5-21 09:26     标题: 回复 3楼 的帖子

可以调用VBS脚本来计算
作者: Taurus    时间: 2009-5-24 06:14

原帖由 Batcher 于 2009-5-21 09:26 发表
可以调用VBS脚本来计算

谢谢;
请问有否语法参考呢?
作者: Batcher    时间: 2009-5-24 06:23     标题: 回复 5楼 的帖子

Windows 脚本技术
http://bbs.bathome.net/thread-1985-1-1.html
作者: Taurus    时间: 2009-5-24 08:15

原帖由 Batcher 于 2009-5-24 06:23 发表
Windows 脚本技术
http://bbs.bathome.net/thread-1985-1-1.html

好像在不生产附件情况下,cmd取不到结果返回值
mshta vbscript:msgbox(9/1.6180339887498948482045868343656381177203)(window.close)

PS:  mshta vbscript:WScript.echo 好像不行的??????

::===================================================
结果只好这样做...
@echo off
echo WScript.echo (9/1.6180339887498948482045868343656381177203)>testecho.vbs
cscript /nologo testecho.vbs
del testecho.vbs
pause>nul

[ 本帖最后由 Taurus 于 2009-5-24 08:33 编辑 ]




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