明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4536|回复: 5

[提问] 保留小数点后两位

[复制链接]
发表于 2014-6-21 11:16:37 | 显示全部楼层 |阅读模式
(setq txt (getstring "\n请输入梯高<35>:"))                    (if        (= txt "")
                (setq txt "T4B09a-35")
                (setq txt (strcat "T4B09a-" txt))
                (setq txt (rtos txt 2 2))
            )
这是我一个程序中的一段,没有红字的语句时,整个程序正常,加入红字的语句后,执行程序出现 错误: 语法错误
我的原意是想让txt永远保留小数点后两位。请高手指导一下
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2014-6-21 11:29:44 | 显示全部楼层
本帖最后由 自贡黄明儒 于 2014-6-21 11:31 编辑

txt是实数才行
r 表示实数 to到的意思 s字串
发表于 2014-6-21 11:37:53 | 显示全部楼层
上次不是问了吗?怎么的自己的帖子找不到了吗?
发表于 2014-6-21 20:05:23 | 显示全部楼层
字符串需要转成实数后再转字符串
 楼主| 发表于 2014-6-22 11:08:32 | 显示全部楼层
再请教一下,输入一个整数(比如35)或一个小数点后一位的小数(比如35.1),如何让txt变成小数点保留两位的数(比如35.00或35.10)
发表于 2014-6-22 18:31:37 | 显示全部楼层
本帖最后由 wzg356 于 2014-6-22 18:47 编辑
szx025 发表于 2014-6-22 11:08
再请教一下,输入一个整数(比如35)或一个小数点后一位的小数(比如35.1),如何让txt变成小数点保留两位的 ...
  1. ;(setq txt (getstring "\n请输入梯高:<35>:"));;与提示无关,输入的都认作字符串
  2. (setq txt (getreal "\n请输入梯高<35>:"));;与提示无关,输入的必须实数或nil
  3. (if  (= txt nil)
  4.         (setq txt "T4B09a-35.00")
  5.         (progn
  6.                 (setq txt (rtos txt 2 2));实数保留2位小数(四舍五入),并转为转为字符串               
  7.                 (setq txt (strcat "T4B09a-" txt))
  8.         )
  9. )

  10. ;;(rtos 35 2 2);返回"35.00"
  11. ;;(rtos 35.555 2 2);返回"35.56"

  12. ;;;可以改为下面的
  13. (if(not (setq txt (getreal "\n请输入梯高<35>:")));;与提示无关,输入的必须实数或nil
  14.   (setq txt 35)
  15. )
  16. (setq txt (rtos txt 2 2));实数保留2位小数(四舍五入),并转为转为字符串               
  17. (setq txt (strcat "T4B09a-" txt))
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-23 21:48 , Processed in 0.188317 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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