VBA字符串到整数而不舍入



我想将String转换为Integer并保留小数位。
我尝试了多种方法,例如ForamatCInt但最终都四舍五入了我的价值。

我的代码是:

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,正如预期的那样。

最新更新