明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 735|回复: 20

[提问] 求教!字符串"07"转换成07应该如何操作?

[复制链接]
发表于 2024-10-4 20:04:43 | 显示全部楼层 |阅读模式
(atoi "07")


求教一下各位大神!
字符串"07"想转成07应该如何操作?

我用atoi和read函数转换的结果都是7、自动去掉0
我想原数据转换不知道如何操作了

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2024-10-4 20:38:46 来自手机 | 显示全部楼层
用字符长度判断
回复 支持 0 反对 1

使用道具 举报

发表于 2024-10-8 09:34:07 | 显示全部楼层
本帖最后由 自贡黄明儒 于 2024-10-8 13:18 编辑
xiaocainiao 发表于 2024-10-8 09:20
谢谢!现在已经改用字符串了、不转了

我也写了文件时间比较,一直没写好。你怎么写的,让我们学习一下。
  1. ;;TimeCompa,返回0 1,表示菜单文件是最新的,不需要更新
  2.   ;;(setq MnuTime '(2017 7 25 8 48 8 0))
  3.   ;;(setq fileTime '(2017 7 28 20 12 49 715))
  4.   (defun TimeCompa (MnuTime fileTime / FLAG A B)
  5.     (setq MnuTime(cons(car MnuTime) (cons (cadr MnuTime) (cdddr MnuTime))))
  6.     (setq fileTime(cons(car fileTime) (cons (cadr fileTime) (cdddr fileTime))))
  7.     (while (and  (setq a (car MnuTime))
  8.     (setq b (car fileTime))
  9.     (cond ((equal a b) (setq Flag 0) T)
  10.           ((> a b) (setq Flag 1) nil)
  11.           (T (setq Flag -1) nil)
  12.     )
  13.      )
  14.       (setq MnuTime (cdr MnuTime))
  15.       (setq fileTime (cdr fileTime))
  16.     )
  17.     FLAG
  18.   )

 楼主| 发表于 2024-10-4 20:34:17 | 显示全部楼层
你有种再说一遍 发表于 2024-10-4 20:24
你说说什么地方会需要?

vl-file-systime 我在用这个函数获取文件修改时间、
得到(1998 4 3 8 10 6 52)、表中的数据有单有双、
我想要比较两个文件的时间、对文件名进行排序、
刚刚想到的方法是将年后面的数全变成两位、
然后组成"1998040308100652"这样的字符串,
再转成实数进行比较、
刚发完就想起了好像不用变双数、就能直接合成一个字符串
不过遇到了就来问一下、万一以后用上呢
发表于 2024-10-4 20:06:25 | 显示全部楼层
本帖最后由 kozmosovia 于 2024-10-4 20:07 编辑

07==7, 数字前面的0是没有存在的作用的,你可以在代码里写,但是转成机器的返回结果,直接就去掉前面没有用的0了
 楼主| 发表于 2024-10-4 20:18:15 | 显示全部楼层
kozmosovia 发表于 2024-10-4 20:06
07==7, 数字前面的0是没有存在的作用的,你可以在代码里写,但是转成机器的返回结果,直接就去掉前面没有用 ...

主要我是需要用到这个0
发表于 2024-10-4 20:24:52 | 显示全部楼层
xiaocainiao 发表于 2024-10-4 20:18
主要我是需要用到这个0

你说说什么地方会需要?
 楼主| 发表于 2024-10-4 20:43:23 | 显示全部楼层

我现在就是判断这个数是不是小于10、
如果小于10、就转成字符串前面加个0、大于10就用原来的数据、
不过感觉这种方法太笨了、
(1998 4 3 8 10 6 52) (2020 5 3 8 10 6 52)
我想要实现的其实就是对上面这种格式的表进行排序、
表中内容就是文件修改时间、也就是年月日那些
发表于 2024-10-4 22:40:27 | 显示全部楼层
xiaocainiao 发表于 2024-10-4 20:43
我现在就是判断这个数是不是小于10、
如果小于10、就转成字符串前面加个0、大于10就用原来的数据、
不 ...

都转成字符串比较:
("1998" "04" "03" "08" "10" "06" "52")
("2020" "05" "03" "08" "10" "06" "52")
发表于 2024-10-5 01:28:55 | 显示全部楼层
你有种再说一遍 发表于 2024-10-4 20:24
你说说什么地方会需要?

有时候编序号需要。
发表于 2024-10-5 01:40:25 | 显示全部楼层
qazxswk 发表于 2024-10-5 01:28
有时候编序号需要。

没有任何地方需要,数值只有比较作用,显示是字符串
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-22 18:44 , Processed in 0.190544 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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