Section courante

A propos

Section administrative du site

MODF

Modulo à virgule
Langage C++ cmath (math.h)

Syntaxe

float modf(float x, float *entier);
double modf(double x,double *entier)
long double modf(long double x, long double *entier);

Paramètres

Nom Description
x Ce paramètre permet d'indiquer l'expression contenant le nombre à traiter
entier Ce paramètre permet d'indiquer la variable recevant la partie entière

Description

Cette fonction transforme un nombre réel en partie entière et en décimal (fraction).

Remarque

Exemple

Voici quelques exemples typiques de l'utilisation de cette fonction :

Essayer maintenant !
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. int main()
  5. {
  6.     double temp;
  7.     temp = 9;
  8.     std::cout << "modf(-81,9) = " << temp << "," << modf(-81,&temp) << std::endl;
  9.     temp = 3;
  10.     std::cout << "modf(15,3) = " << temp << "," << modf(15,&temp) << std::endl;
  11.     temp = 3;
  12.     std::cout << "modf(16,3) = " << temp << "," << modf(16,&temp) << std::endl;
  13.     temp = 3;
  14.     std::cout << "modf(16.9,3) = " << temp << "," << modf(16.9,&temp) << std::endl;
  15.     temp = 3;
  16.     std::cout << "modf(16.8,3) = " << temp << "," << modf(16.8,&temp) << std::endl;
  17.     temp = 3;
  18.     std::cout << "modf(16.7,3) = " << temp << "," << modf(16.7,&temp) << std::endl;
  19.     temp = 3;
  20.     std::cout << "modf(16.6,3) = " << temp << "," <<modf(16.6,&temp) << std::endl;
  21.     temp = 3;
  22.     std::cout << "modf(16.5,3) = " << temp << "," <<modf(16.5,&temp) << std::endl;
  23.     temp = 3;
  24.     std::cout << "modf(16.4,3) = " << temp << "," << modf(16.4,&temp) << std::endl;
  25.     temp = 3;
  26.     std::cout << "modf(16.3,3) = " << temp << "," << modf(16.3,&temp) << std::endl;
  27.     temp = 3;
  28.     std::cout << "modf(16.2,3) = " << temp << "," << modf(16.2,&temp) << std::endl;
  29.     temp = 3;
  30.     std::cout << "modf(16.1,3) = " << temp << "," << modf(16.1,&temp) << std::endl;
  31.     temp = 3;
  32.     std::cout << "modf(17,3) = " << temp << "," << modf(17,&temp) << std::endl;
  33.     temp = 3;
  34.     std::cout << "modf(18,3) = " << temp << "," << modf(18,&temp) << std::endl;
  35.     temp = 3;
  36.     std::cout << "modf(19,3) = " << temp << "," << modf(19,&temp) << std::endl;
  37.     temp = 1;
  38.     std::cout << "modf(0,1) = " << temp << "," << modf(0,&temp) << std::endl;
  39.     return 0;
  40. }

on obtiendra le résultat suivant :

modf(-81,9) = -81.0000,-0.0000
modf(15,3) = 15.0000,0.0000
modf(16,3) = 16.0000,0.0000
modf(16.9,3) = 16.0000,0.9000
modf(16.8,3) = 16.0000,0.8000
modf(16.7,3) = 16.0000,0.7000
modf(16.6,3) = 16.0000,0.6000
modf(16.5,3) = 16.0000,0.5000
modf(16.4,3) = 16.0000,0.4000
modf(16.3,3) = 16.0000,0.3000
modf(16.2,3) = 16.0000,0.2000
modf(16.1,3) = 16.0000,0.1000
modf(17,3) = 17.0000,0.0000
modf(18,3) = 18.0000,0.0000
modf(19,3) = 19.0000,0.0000
modf(0,1) = 0.0000,0.0000

Voir également

Langage de programmation - C++ - Référence de procédures et fonctions - fmod
Langage de programmation - C++ - Référence de procédures et fonctions - ldexp
Langage de programmation - C - Référence de procédures et fonctions - modf

Références

Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 733.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 180.

Dernière mise à jour : Lundi, le 3 août 2015