|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Inscrit
Consultant SAP Inscription : novembre 2010 Messages : 276 ![]() |
Bonjour à Tous,
j'aurais besoin d'arrondir un nombre décimal en nombre entier le plus proche. Pour cela j'utilise la fonction : ROUND. Code :
sign = '+', Arrondi Sup sign = '-', Arrondi InféAlors, que moi j'aimerais qu'il me le détermine tout seul. Exemple, en entrée j'ai : l_value = 12.10, en sortie j'aurais 12.00Avec cette fonction 'ROUND' je vais être obligé de gérer moi même le "sign" à la mano et donc, faire un loop d'indexation sur la chaine de caractère et regarder si le nombre après la virgule est supérieur ou inférieur à 5 . (beurk!) Y a t il une autre fonction qui permet de faire ça simplement. Merci. |
||
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() |
Salut,
Tu n'es pas obligé(e)de passer par une boucle d'indexation, t'as la fonction native frac() qui te retourne la partie décimale d'un nombre. Sinon, regarde si la fonction native round() existe sur ton système, il est possible qu'elle soit nouvelle. À ce que j'ai pu lire, ça devrait correspondre... à tester si c'est possible. ABAP Keyword Documentation - round, rescale - Rounding Functions
__________________
Boaf...signature <= ça suffira ça ?? |
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() Inscription : octobre 2007 Messages : 209 ![]() |
Hello,
pour moi c'est natif ABAP c'est a dire il suffit juste que tu affectes ton chiffre décimal à une variable de type entier si tu veux arrondir au supérieur ou à l'inférieur, tu as aussi les commandes ceil(...) et floor(...) |
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Kévin GrenècheConsultant SAP Inscription : avril 2009 Messages : 49 ![]() |
Oui comme le dit splash1 c'est natif.
Il suffit juste d'affecter ta valeur à une variable de type entier. |
|
00
|
|
|
#5 |
|
Membre confirmé
![]() Inscription : août 2009 Messages : 226 ![]() |
Doc type P -> type I : http://help.sap.com/abapdocu_702/en/...ion_type_p.htm
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com