Как избежать округления чисел в функции - VB
Формулировка задачи:
Необходимо вводить последовательность действительных чисел. Из каждого числа этой последовательности необходимо "отбрасывает" последнюю цифру в целой части числа.
Проблема в том, что в функции число округляется. Помогите разобраться почему
Решение задачи: «Как избежать округления чисел в функции»
textual
Листинг программы
Option Explicit Sub v1() Dim a As Double, s As String, i As Integer Sheets("Лист1").Select Range("a1:c20").Clear For i = 1 To 5 a = Val(InputBox("Введите a(" + Trim(Str(i)) + ")")) s = funs(a) Cells(i, 1) = a Cells(i, 3) = s Next i End Sub Function funs(ByVal a As Double) As Double Dim s As String, stra As String, stra2, i As Integer, count, TestString As String, subString As String, LeftString, RightString stra = CStr(a) count = InStr(stra, ",") If count = 0 Then If Len(stra) < 2 Then TestString = 0 Else count = (Len(stra) - 1) TestString = Left(stra, count) End If Else LeftString = Left(stra, (count)) RightString = Right(stra, (Len(stra) - count)) If Len(LeftString) < 3 Then TestString = "0" + "," + RightString Else count = (Len(LeftString) - 2) LeftString = Left(LeftString, count) MsgBox (LeftString) subString = "," 'TestString = LeftString + "," + RightString TestString = LeftString & subString & RightString End If End If funs = TestString End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д