主题:[讨论]数字转化为字符串的疑惑?
katamoto
[专家分:30] 发布于 2008-06-22 16:54:00
sub main()
debug.print cstr(0.34)
end sub
为什么显示的结果是: ".34",如果我希望显示的是"0.34",又如何做?
回复列表 (共7个回复)
沙发
老大徒伤悲 [专家分:29120] 发布于 2008-06-22 18:27:00
Print CStr(Format(1.34, "#.#########"))
板凳
katamoto [专家分:30] 发布于 2008-06-22 19:15:00
我用CStr(Format(1.34, "#.#########"))鉴定了,没有用阿
3 楼
老大徒伤悲 [专家分:29120] 发布于 2008-06-22 20:15:00
Debug.Print CStr(Format(0.34, "0.#########"))
4 楼
katamoto [专家分:30] 发布于 2008-06-22 21:15:00
这样的话 str(1.34)又变成了0.34了,
5 楼
老大徒伤悲 [专家分:29120] 发布于 2008-06-23 08:45:00
那我们一起期待高手吧。
不过在高手来之前,你能不能把两个结合起来使用?
6 楼
katamoto [专家分:30] 发布于 2008-06-23 09:23:00
谢谢你的回复,我后来编写了几行语句写了。
dim element as double,string1 as string
zhengshu = Int(element)
xiaoshu = Round(element - zhengshu, 2)
string1=trim(str(zhengshu))+trim(str(xiaoshu))
7 楼
一江秋水 [专家分:9680] 发布于 2008-06-24 08:27:00
用得着这么多代码吗?浪费啊!老大的代码是正确的,不过去掉CStr函数更加简练:
Format(Round(element - zhengshu, 2), "0.##")
因为Format函数已经将计算结果转换成字符串了。
后面的“#”字符的多少要看你保留几位小数,保留2位小数就要两个“#”。
还有,如果你计算的结果是整数,而你又想保留小数点后面的0(例如你可能希望将“5元”显示为“5.00元”),那么就将“#”字符改为“0”,这个语句就变成:
Format(Round(element - zhengshu, 2), "0.00")
我来回复