回 帖 发 新 帖 刷新版面

主题:[讨论]数字转化为字符串的疑惑?

sub main()
    
    debug.print cstr(0.34)
end sub

为什么显示的结果是: ".34",如果我希望显示的是"0.34",又如何做?

回复列表 (共7个回复)

沙发

Print CStr(Format(1.34, "#.#########"))

板凳


我用CStr(Format(1.34, "#.#########"))鉴定了,没有用阿

3 楼

Debug.Print CStr(Format(0.34, "0.#########"))

4 楼

这样的话 str(1.34)又变成了0.34了,

5 楼

那我们一起期待高手吧。
不过在高手来之前,你能不能把两个结合起来使用?

6 楼

谢谢你的回复,我后来编写了几行语句写了。
dim element as double,string1 as string
zhengshu = Int(element)
xiaoshu = Round(element - zhengshu, 2)
string1=trim(str(zhengshu))+trim(str(xiaoshu))

7 楼

用得着这么多代码吗?浪费啊!老大的代码是正确的,不过去掉CStr函数更加简练:

Format(Round(element - zhengshu, 2), "0.##")

因为Format函数已经将计算结果转换成字符串了。
后面的“#”字符的多少要看你保留几位小数,保留2位小数就要两个“#”。
还有,如果你计算的结果是整数,而你又想保留小数点后面的0(例如你可能希望将“5元”显示为“5.00元”),那么就将“#”字符改为“0”,这个语句就变成:

Format(Round(element - zhengshu, 2), "0.00")

我来回复

您尚未登录,请登录后再回复。点此登录或注册