X++ Round, RoundDown, RoundUp, Trunc in Dynamics 365 FO
X++ yuvarlama fonksiyonları

Senior Dynamics 365 Developer
Bu yazıda X++ dilinde yuvarlama fonksiyonlarından bahsetmek istiyorum.
Aşağıda tablo halinde yuvarlama, aşağı yuvarlama ve yukarı yuvarlama yöntemleri ile ilgili örnek kodlar paylaştım.
Güncelleme (04.01.2024)
Verilen değeri tam sayıya yuvarlayan trunc işlevini de yazıya ekledim.
| Değer | Yöntem | Kod | Çıktı / Sonuç |
|---|---|---|---|
| 10.49 | Yukarı yuvarla | roundUp(10.49, 1) | 11 |
| 10.51 | Aşağı yuvarla | roundDown(10.51, 1) | 10 |
| 2.79 | Tam sayıya yuvarlama | trunc(2.79) | 2 |
| 10.50 | Yuvarla | round(10.50, 1) | 11 |
| 10.49 | Yuvarla | round(10.49, 1) | 10 |
| 10.51 | Yuvarla | round(10.51, 1) | 11 |
| 10.495000 | Küsüratlı yuvarla | round(10.495000, 0) | 10.50 |
| 10.494999 | Küsüratlı yuvarla | round(10.494999, 0) | 10.49 |
| 10.495111 | Küsüratlı yuvarla | round(10.495111, 0) | 10.50 |
| 10.654444 | Küsüratlı yuvarla | decRound(10.654444, 2) | 10.65 |
| 10.655555 | Küsüratlı yuvarla | decRound(10.655555, 2) | 10.66 |
internal final class ETG_BC_RoundRunnableClass
{
/// <summary>
/// Class entry point. The system will call this method when a designated menu
/// is selected or when execution starts and this class is set as the startup class.
/// </summary>
/// <param name = "_args">The specified arguments.</param>
public static void main(Args _args)
{
info(strFmt("Yukarı yuvarla 10.49=%1", roundUp(10.49, 1)));
//11
info(strFmt("Aşağı yuvarla 10.51=%1", roundDown(10.51, 1)));
//10
info(strFmt("Yuvarla 10.50=%1", round(10.50, 1)));
//11
info(strFmt("Yuvarla 10.49=%1", round(10.49, 1)));
//10
info(strFmt("Yuvarla 10.51=%1", round(10.51, 1)));
//11
info(strFmt("Küsüratlı yuvarla 10.495000=%1", round(10.495000, 0)));
//10.50
info(strFmt("Küsüratlı yuvarla 10.494999=%1", round(10.494999, 0)));
//10.49
info(strFmt("Küsüratlı yuvarla 10.495111=%1", round(10.495111, 0)));
//10.50
info(strFmt("Küsüratlı yuvarla 10.654444=%1", decRound(10.654444, 2)));
//10.65
info(strFmt("Küsüratlı yuvarla 10.655555=%1", decRound(10.655555, 2)));
//10.66
}
}




