Округление double до 9 знака - C#
Формулировка задачи:
Здравствуйте. Появилась проблема при округлении результата при выполнении математической формулы.
Задача - написать программу, которая вычисляет длину дуги, путем аппроксимации малых отрезков, концы, которых расположены на заданной кривой y=x*x. В области 0<=x<=1. Единственный параметр, который передается методу - это на какое количество одинаковых интервалов разобьется 0<=x<=1, т.е. количество отрезков, которые будут находиться на кривой.
Вот, листинг кода, написанного мной.
Собственно, проблема такая - при передаче n=10, результат предполагается 1.478197397d, но получается 1.0d.
При округлении до других знаков, эта ошибка не появляется. Если инициализировать length = 1, то проблемы тоже нет, результат получается 2.478197397d.
using System; public class ArcParabLen { // n number of intervals public static double lenCurve(int n) { double length = 0.0d; for (int i = 1; i<=n; i++) { length += Math.Sqrt(Math.Pow(1/n, 2)+Math.Pow(Math.Pow(i/n, 2)-Math.Pow((i-1)/n, 2), 2)); } return Math.Round(length,9); } }
Решение задачи: «Округление double до 9 знака»
textual
Листинг программы
int n
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д