Debug.Print CVDbl(" 1.234 "), CVDbl(" 45,678 "), CVDbl(" 1,,23")
Public Function CVDbl(s As String) As Variant
Dim ss As String, sr As String
CVDbl = Null
ss = Format$(0, ".")
sr = IIf(ss = ",", ".", ",")
s = Replace(s, sr, ss)
On Error Resume Next
If IsNumeric(s) Then CVDbl = CDbl(s)
End Function
"Не верю!" (с)Чудик писал(а):Нет, Val округляет, чего не надо.
?Val("1.2345")
1,2345
Имхо это не баг, а фичаEnnor писал(а):Уж сколько раз твердили миру, что Val() не понимает национальные разделители дробной части...
tyomitch писал(а):Имхо это не баг, а фича
Сейчас этот форум просматривают: Majestic-12 [Bot], Yandex-бот и гости: 152