English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Utilizzo e esempio della funzione modf() in C++

库函数cmathC++

La funzione modf() in C++ divide il numero in parte intera e parte decimale.

Come descritto in precedenza, modf(x, intptr) decompongge il numero in parte intera e parte decimale. Divide il valore a virgola mobile x in parte decimale e parte intera, entrambe con lo stesso segno di x. Restituisce la parte decimale di x con segno, e la parte intera è memorizzata come valore a virgola mobile in intptr.

Questa funzione è definita in<cmath>Definito nel file di intestazione.

Prototipo di modf() [dalla versione C++11]

double modf(double x, double* intpart);
float modf(float x, float* intpart);
long double modf(long double x, long double* intpart);
double modf(T x, double* intpart); // T è il tipo intero

Parametri di modf()

modf() ha due parametri:

  • x - Il valore è diviso in due parti.

  • intpart - Puntatore all'oggetto (tipo exOggetti oggetti identici, questa parte è memorizzata conxIl simbolo è memorizzato nella parte intera.

Valore di ritorno di modf()

La funzione modf() restituisce la parte decimale del parametro passato.

Esempio 1: Come funziona modf()?

#include <iostream>
#include <cmath>
using namespace std;
main int ()
{
	double x = 14.86, intPart, fractPart;
	fractPart = modf(x, &intPart);
	cout << x << " = " << intPart << " + " << fractPart << endl;
	x = -31.201;
	fractPart = modf(x, &intPart);
	cout << x << " = " << intPart << " + " << fractPart << endl;
	return 0;
}

运行程序时,输出为:

14.86 = 14 + 0.86
-31.201 = -31 + -0.201

Esempio 2: modf() con il primo parametro come valore intero

#include <iostream>
#include <cmath>
using namespace std;
main int ()
{
	int x = 5;
	double intpart, fractpart;
	fractpart = modf(x, &intpart);
	cout << x << " = " << intpart << " + " << fractpart << endl;
	return 0;
}

运行程序时,输出为:

5 = 5 + 0

库函数cmathC++