我想将String
转换为Integer
并保留小数位。
我尝试了多种方法,例如Foramat
和CInt
但最终都四舍五入了我的价值。
我的代码是:
Dim posZ As Integer
Dim TestZ As Integer
Dim strTestZ As String
Dim TestZold As Integer
For i = 1 To tllength
posZ = InStr(tlmold(i), "Z=")
strTestZ = Mid(tlmold(i), posZ + 2, 5)
TestZ = Format(strTestZ, "0.0000")
If TestZold = TestZ Or (TestZold - TestZ) > 0.02 Or (TestZ - TestZold) > 0.02 Then
countLip = countLip + 1
End If
TestZold = TestZ
Next I
例如,数组tlmold()
中 strTestZ
的第一个值为 0.085,第二个值为 0.097。
我想比较它们..
提前致谢
整数是一个整数变量。请改用双精度。
">我想将字符串转换为整数并保留小数位。 - 不可能,整数是"Ganz Zahl"。
但是,我认为这不是您的问题。我注意到您来自德国,因此您显然遇到了逗号分隔符的问题,这是德国的逗号。在美国和VBEditor,它是一个点。因此,您必须将输入转换为预期的内容。 Replace()
是做到这一点的方法。
亲眼看看:
Public Sub TestMe()
Dim inputA As String
Dim convertedNumber As Double
inputA = "0.085"
convertedNumber = CDbl(inputA)
Debug.Print convertedNumber
inputA = Replace(inputA, ".", ",")
convertedNumber = CDbl(inputA)
Debug.Print convertedNumber
End Sub
第一次打印时会得到85
,第二次打印时会得到0,085
,正如预期的那样。