TRUNC()
est conçu pour supprimer la partie décimale de n'importe quel nombre immédiatement et sans aucune modification de la partie non décimale.
Donc, selon la réponse de LinYan , il vous suffit d'utiliser:
TRUNC(A1)
pour obtenir la partie entière de la valeur A1
A1-TRUNC(A1)
pour obtenir la partie fractionnaire de la valeur A1
Contrairement à FLOOR()
, TRUNC()
fonctionne sur les nombres positifs et négatifs sans nécessiter d'ajustement, et fonctionne de la même manière dans Microsoft Excel et LibreOffice.
FLOOR()
requiert que le paramètre de signification ait le même signe que le nombre en cours de traitement (sinon il générera une erreur), de sorte que 1
la fin devra être modifiée -1
pour traiter les nombres négatifs, ou vous pourriez insérer SIGN()
et compliquer inutilement la formule.
Et, dans OpenOffice et LibreOffice, a FLOOR()
également un troisième paramètre "mode" supplémentaire (par rapport à Excel) qui modifie les résultats que la fonction renvoie pour les nombres négatifs.
Par exemple, imaginez A1 est 167,583:
int(A1)
donnerait 167 etmod(A1,1)
donnerait 0,583.la source
int(1.6) === 1
etint(-1.6) === -2
... Mais celatrunc(decimal;0)
fonctionne correctement pour les deux.Ne pensez pas qu'il existe une fonction spécifique pour ce faire, cependant en imbriquant un couple, vous pouvez.
En supposant que vous essayez de renvoyer la valeur décimale pour la cellule A1, la formule serait:
En fait, ce que vous faites ici, c'est d'utiliser la fonction MID pour renvoyer un certain nombre de caractères à partir de la virgule décimale. Les 3 références à A1 doivent être mises à jour pour chaque cellule que vous ciblez pour qu'elle fonctionne correctement.
la source
cela ne serait-il pas simplement parfait et esthétique aussi?
la source