Итак, я создаю математическую программу, в ней есть пара функций, одна из функций - это десятичный разделитель, что это такое:
пользователя спрашивают, сколько десятичных знаков между 1 и5. он хотел бы, чтобы его ответы отображались для другой математической функции.
Допустим, пользователь выбирает ответ с точностью до 4 десятичных знаков, затем он устанавливает его и выбирает решатель квадратного уравнения, онзапрашивают значения A, B, C, как только он рассчитан, скажем, он дает вводы 1, -8 и 15, ответ -3 и 5. Однако, поскольку он выбрал свой ответ, чтобы быть до 4 десятичных знаковответ должен быть представлен как -3.0000 и 5.0000
Я не могу заставить это работать, вот мой код ниже, может кто-то помочь мне решить эту проблему, застрял на нем в течение нескольких дней сейчас
Я пытался округлить число до десятичного знака, введенного пользователем: не работает
'Правило десятичного разряда
Sub Accuracy()
Line1:
Dim DP
Console.WriteLine("Please Enter the Decimial Limit between 1-5: ")
DP = Double.Parse(Console.ReadLine())
If (DP > 5) Then
Console.WriteLine("Error, Decimial Limit is between 1 and 5, Please Try Again!")
GoTo Line1
Else
DP = DP
Console.Write("Decimial Limit has been Set Succuesfully to " & DP & " Decimal Places")
End If
End Sub
' Функция квадратного уравнения
Sub QuadraticFunction()
Dim a, b, c As Integer
Dim d, x1, x2 As Double
line1:
Console.WriteLine("Please Input a Non-Zero Number, A: ")
a = Console.ReadLine()
If (a = 0) Then
Console.WriteLine("Error, Number must not be 0, Try Again!")
GoTo line1
End If
Console.WriteLine("Please Input The Value of, B: ")
b = Console.ReadLine()
Console.Write("Please Input the Value of, C: ")
c = Console.ReadLine()
d = b * b - (4 * a * c)
If (d = 0) Then
Console.WriteLine("Both Roots Are Equal.")
x1 = -b / (2.0 * a)
x2 = x1
x1 = Math.Round(x1, DP)
x2 = Math.Round(x1, DP)
Console.WriteLine("First Root, (Root1) = {0}", x1)
Console.WriteLine("Second Root, (Root2) = {0}", x2)
ElseIf (d > 0) Then
Console.WriteLine("Both Roots are Real and Different")
x1 = (-b + Math.Sqrt(d)) / (2 * a)
x2 = (-b - Math.Sqrt(d)) / (2 * a)
x1 = (Math.Round(x1, DP))
x2 = (Math.Round(x2, DP))
Console.WriteLine("First Root, (Root1) = {0}", x1)
Console.WriteLine("Second Root, (Root2) = {0}", x2)
Else
Console.Write("Root are Imaginary " & "No Solution")
End If
End Sub