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

تعليمية C++ الأساسية

C++ 流程控制

الوظائف في C++

C++ 数组 & 字符串

C++ 数据结构

C++ 类 & 对象

المؤشرات في C++

الوراثة في C++

تعليمية STL C++

C++ 参考手册

C++ modf() 函数使用方法及示例

وظائف المكتبة <cmath> في C++

C ++中的modf()函数将数字分为整数和小数部分。

如前所述,modf(x,intptr)将数字分解为整数和小数部分。将浮点值 x 分解成小数和整数部分,每个都与 x 具有同样的符号。返回 x的带符号的小数部分,整数部分作为浮点值存储在 intptr 处。

تعمل هذه الوظيفة في<cmath>محدد في ملف الرأس.

نموذج modf() [بداية من معيار 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 هو نوع عدد صحيح

معاملات modf()

يملك modf() جزأين:

  • x - يتم تقسيم القيمة إلى جزأين.

  • intpart - يشير إلى الكائن (نوعه)xنفس الكائن (النوع)xيتم حفظ نفس الرمز في جزء الكامل.

قيمة عودة modf()

يعود modf() جزء الصغير من المعامل المرسل إليه.

مثال1: كيف يعمل modf()؟

#include <iostream>
#include <cmath>
using namespace std;
int main ()
{
	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

مثال2: استخدام قيمة الصفر كمعامل أولي لـ modf()

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

عند تشغيل هذا البرنامج، الناتج هو:

5 = 5 + 0

وظائف المكتبة <cmath> في C++