|
|
|
Проблемы с функцией math.Log()
|
|||
|---|---|---|---|
|
#18+
Привет, Друзья! Наткнулся сегодня на такую проблему! У меня есть 2 параметра "a", "b". Тип которых decimal! Хочу провести вот такую операцию (в коде написано), но из за того, что функция Math.Log() работает только с переменными типа double, я не могу видеть результат работы этой функции в нужном мне виде (мне нужно, чтоб количество элементов после запятой было максимальным)! Вопрос следующий, как сделать так, чтобы math.Log() нормально работал с переменными типа decimal и я не терял точность и количество элементов после запятой было бы максимальным, насколько позволяет тип decimal! Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2015, 06:30 |
|
||
|
Проблемы с функцией math.Log()
|
|||
|---|---|---|---|
|
#18+
Либо ищите аналог функции (ну или библиотеку, в которой есть такой аналог), работающий с нужным типом данных, либо пишите свою функцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2015, 09:14 |
|
||
|
Проблемы с функцией math.Log()
|
|||
|---|---|---|---|
|
#18+
Akina, Так может ему просто при печати не хватает знаков. Есть функция printf или format , и есть форматы %g ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2015, 13:15 |
|
||
|
Проблемы с функцией math.Log()
|
|||
|---|---|---|---|
|
#18+
adimmatВопрос следующий, как сделать так, чтобы math.Log() нормально работал с переменными типа decimal и я не терял точность и количество элементов после запятой было бы максимальным, насколько позволяет тип decimal! Тебе целочисленный логарифм нужен, или тебе нужен именно логарифм над числами с фиксированной точкой (decimal)? Просто последнее имеет мало смысла, поскольку логирифм -- не дискретная функция. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2015, 13:18 |
|
||
|
Проблемы с функцией math.Log()
|
|||
|---|---|---|---|
|
#18+
adimmat, decimal это финансовый тип данных. https://msdn.microsoft.com/en-us/library/364x0z75.aspx The decimal keyword indicates a 128-bit data type. Compared to floating-point types, the decimal type has more precision and a smaller range, which makes it appropriate for financial and monetary calculations. The approximate range and precision for the decimal type are shown in the following table. И он (скорее всего) оптимизирован для 4х базовых арифм. операций. Если ты пытаешься в нём ( decimal ) делать логарифмирование то ты скорее всего чего-то не понял или в чём-то не разобрался. В науке и технике точность double в расчётах логарифма покрывают все мыслимые практические случаи. И все мат. библиотеки используют форматы подобные double в качестве основного транспорта чисел. Но если тебе хочется посчитать логарифм до тысячного десятичного знака после запятой то поищи библиотеки "символьных вычислений". Возможно они тебе помогут. Или не помогут. Или скорее всего не окажут никакого влияния на ответ твоей задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2015, 14:36 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38924391&tid=1341055]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
153ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 434ms |

| 0 / 0 |
