嗯...我找不到啥方法~只好自己做摟=3=
Private Sub Form_Load()
Dim k As Double
k = 2742894.19430312
MsgBox ToString(k)
End Sub
Private Function ToString(v As Double) As String
Dim s As String
s = CStr(v)
If Strings.InStr(1, s, "E") = 0 Then
s = Strings.Replace(s, ".", "")
s = Strings.Replace(s, "-", "")
s = Strings.Replace(s, "0", " ")
s = Strings.Trim$(s)
s = Strings.Replace(s, " ", "0")
If Len(s) <> 1 Then s = Strings.Left(s, 1) & "." & Strings.Right(s, Len(s) - 1)
If v < 0 Then s = "-" & s
Dim E As Integer
E = Int(Log(Abs(v)) / Log(10))
Select Case E
Case 0
ToString = s
Case Is > 0
ToString = s & "E+" & Strings.Format(E, "00")
Case Is < 0
ToString = s & "E" & Strings.Format(E, "00")
End Select
Else
ToString = s
End If
End Function
Private Sub Form_Load()
Dim k As Double
k = 2742894.19430312
MsgBox ToString(k)
End Sub
Private Function ToString(v As Double) As String
Dim s As String
s = CStr(v)
If Strings.InStr(1, s, "E") = 0 Then
s = Strings.Replace(s, ".", "")
s = Strings.Replace(s, "-", "")
s = Strings.Replace(s, "0", " ")
s = Strings.Trim$(s)
s = Strings.Replace(s, " ", "0")
If Len(s) <> 1 Then s = Strings.Left(s, 1) & "." & Strings.Right(s, Len(s) - 1)
If v < 0 Then s = "-" & s
Dim E As Integer
E = Int(Log(Abs(v)) / Log(10))
Select Case E
Case 0
ToString = s
Case Is > 0
ToString = s & "E+" & Strings.Format(E, "00")
Case Is < 0
ToString = s & "E" & Strings.Format(E, "00")
End Select
Else
ToString = s
End If
End Function