AndVGri
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору komputeryuzer Цитата: раньше пользовался либо % либо мод(). | Подскажите, где вы использовали это для чисел вида Цитата: Для чисел с плавающей запятой двойной точности, используемых в Excel, не всё так просто в плане определения числа знаков после запятой, почитайте, для разнообразия Подумайте, сколько знаков после запятой у числа 1/3? Как вариант для подсчёта числа знаков после запятой могу предложить Код: Public Function DigitAfter(ByVal this As Double) As Long Dim sText As String, posD As Long, posE As Long sText = Replace(CStr(this), ",", ".") posD = InStr(sText, "."): posE = InStr(sText, "E") If posD = 0 Then DigitAfter = 0 ElseIf posE = 0 Then DigitAfter = Len(sText) - posD Else If Mid$(sText, posE + 1, 1) = "-" Then DigitAfter = CLng(Mid$(sText, posE + 2)) + posE - posD - 1 Else DigitAfter = 0 End If End If End Function | P. S. Рассмотрены не все варианты. Будет некорректно обрабатываться, например, 1E-102 | Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 03:09 13-11-2012 | Исправлено: AndVGri, 03:23 13-11-2012 |
|