求教!字符串"07"转换成07应该如何操作?
(atoi "07")求教一下各位大神!
字符串"07"想转成07应该如何操作?
我用atoi和read函数转换的结果都是7、自动去掉0
我想原数据转换不知道如何操作了
用字符长度判断 本帖最后由 自贡黄明儒 于 2024-10-8 13:18 编辑
xiaocainiao 发表于 2024-10-8 09:20
谢谢!现在已经改用字符串了、不转了
我也写了文件时间比较,一直没写好。你怎么写的,让我们学习一下。
;;TimeCompa,返回0 1,表示菜单文件是最新的,不需要更新
;;(setq MnuTime '(2017 7 25 8 48 8 0))
;;(setq fileTime '(2017 7 28 20 12 49 715))
(defun TimeCompa (MnuTime fileTime / FLAG A B)
(setq MnuTime(cons(car MnuTime) (cons (cadr MnuTime) (cdddr MnuTime))))
(setq fileTime(cons(car fileTime) (cons (cadr fileTime) (cdddr fileTime))))
(while (and(setq a (car MnuTime))
(setq b (car fileTime))
(cond ((equal a b) (setq Flag 0) T)
((> a b) (setq Flag 1) nil)
(T (setq Flag -1) nil)
)
)
(setq MnuTime (cdr MnuTime))
(setq fileTime (cdr fileTime))
)
FLAG
)
你有种再说一遍 发表于 2024-10-4 20:24
你说说什么地方会需要?
vl-file-systime 我在用这个函数获取文件修改时间、
得到(1998 4 3 8 10 6 52)、表中的数据有单有双、
我想要比较两个文件的时间、对文件名进行排序、
刚刚想到的方法是将年后面的数全变成两位、
然后组成"1998040308100652"这样的字符串,
再转成实数进行比较、
刚发完就想起了好像不用变双数、就能直接合成一个字符串,
不过遇到了就来问一下、万一以后用上呢
本帖最后由 kozmosovia 于 2024-10-4 20:07 编辑
07==7, 数字前面的0是没有存在的作用的,你可以在代码里写,但是转成机器的返回结果,直接就去掉前面没有用的0了 kozmosovia 发表于 2024-10-4 20:06
07==7, 数字前面的0是没有存在的作用的,你可以在代码里写,但是转成机器的返回结果,直接就去掉前面没有用 ...
主要我是需要用到这个0 xiaocainiao 发表于 2024-10-4 20:18
主要我是需要用到这个0
你说说什么地方会需要? 自贡黄明儒 发表于 2024-10-4 20:38
用字符长度判断
我现在就是判断这个数是不是小于10、
如果小于10、就转成字符串前面加个0、大于10就用原来的数据、
不过感觉这种方法太笨了、
(1998 4 3 8 10 6 52) (2020 5 3 8 10 6 52)
我想要实现的其实就是对上面这种格式的表进行排序、
表中内容就是文件修改时间、也就是年月日那些 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-4 20:24
你说说什么地方会需要?
有时候编序号需要。 qazxswk 发表于 2024-10-5 01:28
有时候编序号需要。
没有任何地方需要,数值只有比较作用,显示是字符串