AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.05.2012, 09:28   #1  
FridmanV is offline
FridmanV
Участник
 
27 / 10 (1) +
Регистрация: 05.04.2012
Адрес: Самара
ПИ
как обозначается число Пи в Аксапте или вообще оно есть??
Старый 16.05.2012, 09:32   #2  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от FridmanV Посмотреть сообщение
как обозначается число Пи в Аксапте или вообще оно есть??
Если речь идет про функцию ядра (или зарезервированное слово), то вроде такого нет (я по крайней мере ни разу не встречал). В свое время писал функцию в классе Global, которая возвращает значение числа ПИ.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 16.05.2012, 09:40   #3  
AraraT® is offline
AraraT®
Участник
1C
 
158 / 106 (4) +++++
Регистрация: 13.01.2006
Адрес: Республика Татарстан, г. Казань
Сделайте макрос - 22 / 7
__________________
Айрат Вильданов.
skype: vildanov.a
Старый 16.05.2012, 09:43   #4  
wolfstein is offline
wolfstein
Axapta Retail User
Axapta Retail User
 
51 / 91 (4) ++++
Регистрация: 05.07.2006
X++:
static void Job105(Args _args)
{
    #define.pi  (3.14159265358979323846264338327950288419716939937510582097494459230781640628620899)
    
    real s;
    real r = 10;
    ;
    
    s = #pi*r*r;
    info(strFmt("Площадь круга: %1", s));
}
За это сообщение автора поблагодарили: FridmanV (1).
Старый 16.05.2012, 10:01   #5  
Dark Light is offline
Dark Light
Участник
 
64 / 49 (0) +++
Регистрация: 17.02.2009
Адрес: Омск
Цитата:
Сообщение от wolfstein Посмотреть сообщение
3.14159265358979323846264338327950288419716939937510582097494459230781640628620899
real же поддерживает не больше 15 цифр или около того.
Старый 16.05.2012, 10:32   #6  
wolfstein is offline
wolfstein
Axapta Retail User
Axapta Retail User
 
51 / 91 (4) ++++
Регистрация: 05.07.2006
Цитата:
Сообщение от Dark Light Посмотреть сообщение
real же поддерживает не больше 15 цифр или около того.
В данном случае это не важно, все равно при вычислении произойдет приведение к типу real и лишние цифры "отбросятся". Число PI с таким количеством знаков было дано для наглядности.
Старый 17.05.2012, 09:41   #7  
FridmanV is offline
FridmanV
Участник
 
27 / 10 (1) +
Регистрация: 05.04.2012
Адрес: Самара
Еще!!!!
а как логорифм задать ln???????
Старый 17.05.2012, 09:51   #8  
Dark Light is offline
Dark Light
Участник
 
64 / 49 (0) +++
Регистрация: 17.02.2009
Адрес: Омск
Цитата:
Сообщение от FridmanV Посмотреть сообщение
Еще!!!!
а как логорифм задать ln???????
logn
Старый 17.05.2012, 10:09   #9  
kaw is offline
kaw
Участник
 
122 / 35 (2) +++
Регистрация: 23.03.2004
Адрес: Новосибирск
советую еще почитать:

математика в AX
Старый 17.05.2012, 11:14   #10  
Alexanderis.ua is offline
Alexanderis.ua
Участник
 
53 / 40 (2) +++
Регистрация: 25.12.2008
Адрес: Киев, Украина
когда понадобилось ПИ, завел его в Global так (таким же образом, по идее, можно использовать всю библиотеку System.Math)

X++:
static public real PI()
{
    real    ret;

    ;
    
    new InteropPermission(InteropKind::ClrInterop).assert();

    ret = CLRInterop::getAnyTypeForObject(System.Math::Atan2(1.0, 1.0)) * 4;

    CodeAccessPermission::revertAssert();   

    return ret;
}
__________________
If it ain't broke, take it apart and find out why (с)
За это сообщение автора поблагодарили: Dark Light (1).
Старый 17.05.2012, 11:42   #11  
Dark Light is offline
Dark Light
Участник
 
64 / 49 (0) +++
Регистрация: 17.02.2009
Адрес: Омск
Цитата:
Сообщение от Alexanderis.ua Посмотреть сообщение
когда понадобилось ПИ, завел его в Global так (таким же образом, по идее, можно использовать всю библиотеку System.Math)

X++:
static public real PI()
{
    real    ret;

    ;
    
    new InteropPermission(InteropKind::ClrInterop).assert();

    ret = CLRInterop::getAnyTypeForObject(System.Math::Atan2(1.0, 1.0)) * 4;

    CodeAccessPermission::revertAssert();   

    return ret;
}
Здорово. Можно также использовать функции Аксапты:
X++:
ret = acos(-1); // = pi

Последний раз редактировалось Dark Light; 17.05.2012 в 13:28.
За это сообщение автора поблагодарили: sukhanchik (2).
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:37.