chishingchan 发表于 2016-10-17 21:45:24

[已解决] 如何 StringFormat 格式控制整数和小数各两位数?

本帖最后由 chishingchan 于 2016-10-22 12:20 编辑

问题修改更新为:

$Time=3660.784
Msgbox(0,"",StringFormat("0:%02i:%05.2f",Int($Time/60),Mod($Time,60)))

非期待值:0:61:00.78
期待值:1:01:00.78

这个命令应用的比较少,望赐教,谢谢!

nmgwddj 发表于 2016-10-18 15:55:29

好问题,但是我不知道,看论坛是否有人可以处理。

Alam 发表于 2016-10-18 18:44:49

本帖最后由 Alam 于 2016-10-18 20:48 编辑

看了楼下,知道自己的孤陋寡闻了!

ceoguang 发表于 2016-10-18 19:50:12

本帖最后由 ceoguang 于 2016-10-19 20:10 编辑

Msgbox(0,"",StringFormat("%02i:%05.2f",Int($Time/60),Mod($Time,60)))

Alam 发表于 2016-10-18 20:56:41

"%05.2f"
小数点算一个数的啊?

nmgwddj 发表于 2016-10-19 09:11:38

回复 3# Alam


    同感,孤陋寡闻了。

ceoguang 发表于 2016-10-19 10:58:01

回复 5# Alam
5是字符对齐数,小数点也是字符。05则为5字对齐,不足在前面用0补充.
可以参考C的printf

haijie1223 发表于 2016-10-19 11:34:37

可以写到一个StringFormat里面的
StringFormat( "格式控制", 变量1[, ... 变量32])

zghwelcome 发表于 2016-10-20 15:09:25

收藏学习了

chishingchan 发表于 2016-10-22 11:57:48

本帖最后由 chishingchan 于 2016-10-22 12:09 编辑

回复 4# ceoguang


$Time=3660.784
Msgbox(0,"",StringFormat("0:%02i:%05.2f",Int($Time/60),Mod($Time,60)))
非期待值:0:61:00.78
期待值:1:01:00.78

chishingchan 发表于 2016-10-22 12:19:44

领悟了。谢谢 4# ceoguang的指导!$Time=60.784
Msgbox(0,"",StringFormat("%1i:%02i:%05.2f",Int($Time/3600),Int($Time/60-Int($Time/3600)*60),Mod($Time,60)))
页: [1]
查看完整版本: [已解决] 如何 StringFormat 格式控制整数和小数各两位数?