Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Math.Log(Decimal) / 11 сообщений из 11, страница 1 из 1
01.04.2015, 07:42
    #38923294
adimmat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Math.Log(Decimal)
Добрый день, Друзья!
У меня одна проблема с функцией Мат.Лог()!
есть 2 параметра, decimal а, decimal b! Хочу проделать след. манипуляцию (код внизу) с ними и вывести на экран результат! Но проблема в том, что компилятор мне говорит, что данный метод работает только с переменными типа double! Был бы признателен, если бы вы помогли, как с такой проблемой разбираться. мне нужно именно для decimal, так как для меня важно количество элементов после запятой, чем больше их будет, тем лучше!
Спасибо!
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
static void Main(string[] args)
        {
            Console.WriteLine("I'm the first decimal number");
            const long a = 102.12345678901234567777777889;
            Console.WriteLine(a.ToString());

            Console.WriteLine("I'm the second decimal number");
            const long b = 112.1234784960123456777777889;
            Console.WriteLine(b.ToString());

            Console.WriteLine("I'm the first double number");
            double c = 102.123467890;
            Console.WriteLine(c.ToString());

            Console.WriteLine("I'm the second double number");
            double d = 2.601234678897777;
            Console.WriteLine(d.ToString());

            Console.WriteLine("I'm the Log result after Convert");
            (вот операция, о которой упоминалось выше)
            double lenth_1 = (Math.Floor(2 - Math.Log((double)(a - b)) / Math.Log(10, Math.E))); 
            Console.WriteLine(lenth_1.ToString());
            Console.Read();
...
Рейтинг: 0 / 0
01.04.2015, 07:54
    #38923298
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Math.Log(Decimal)
long - это ж Int64, а не decimal
...
Рейтинг: 0 / 0
01.04.2015, 07:55
    #38923299
adimmat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Math.Log(Decimal)
Pallaris, Я извиняюсь, я ошибся, там decimal везде, я просто поэкспериментировал и забыл все обратно вернуть!
...
Рейтинг: 0 / 0
01.04.2015, 08:20
    #38923306
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Math.Log(Decimal)
adimmat,

ясно. Если нужна супер-точность для логарифма, то нужно искать сторонние библиотеки, .Net только с double предлагает
...
Рейтинг: 0 / 0
01.04.2015, 08:26
    #38923308
adimmat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Math.Log(Decimal)
Pallaris, А можете посоветовать какой нибудь сайт, а то я новичок и еще не силен в этих делах?! Спасибо!
...
Рейтинг: 0 / 0
01.04.2015, 11:39
    #38923600
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Math.Log(Decimal)
adimmatPallaris, А можете посоветовать какой нибудь сайт, а то я новичок и еще не силен в этих делах?! Спасибо!
Например Mathdotnet
...
Рейтинг: 0 / 0
01.04.2015, 11:52
    #38923628
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Math.Log(Decimal)
adimmatмне нужно именно для decimal, так как для меня важно количество элементов после запятой, чем больше их будет, тем лучше!
Насколько я понимаю, double в этом плане лучше, чем decimal
...
Рейтинг: 0 / 0
01.04.2015, 11:53
    #38923633
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Math.Log(Decimal)
Arm79adimmatмне нужно именно для decimal, так как для меня важно количество элементов после запятой, чем больше их будет, тем лучше!
Насколько я понимаю, double в этом плане лучше, чем decimal
Чем лучше?
...
Рейтинг: 0 / 0
01.04.2015, 12:09
    #38923666
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Math.Log(Decimal)
Axeleron,

Вы правы, точность у decimal больше. У double границы шире, а точность хуже.
...
Рейтинг: 0 / 0
01.04.2015, 12:12
    #38923674
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Math.Log(Decimal)
Arm79Вы правы, точность у decimal больше. У double границы шире, а точность хуже.
Хотя я не понимаю почему в MS не могли написать перегружаемую функцию Math.Log для decimal - так же как сделали для Math.Floor...
...
Рейтинг: 0 / 0
01.04.2015, 15:29
    #38923957
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Math.Log(Decimal)
AxeleronArm79Вы правы, точность у decimal больше. У double границы шире, а точность хуже.
Хотя я не понимаю почему в MS не могли написать перегружаемую функцию Math.Log для decimal - так же как сделали для Math.Floor...
Вероятно из-за того, что там такая точность просто не имеет смысла
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Math.Log(Decimal) / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]