FAQ:ANSI CPP

Материал из Весельчак У
Версия от 10:11, 20 апреля 2007; LogRus (обсуждение) (Как задать число знаков после запятой у float при преобразовании в строку?)

Перейти к: навигация, поиск

Не получается сравнить два числа типа double

стандартный прием - задание точности:

	#include <math.h>
	double d1,d2;
	double acc=0.00001;//требуемая точность сравнения
	...
	...
	if( fabs(d1-d2) < acc )
	{
		//операнды равны (с точностью acc)
	}
	else
	{
		//убедились, что операнды не равны, здесь можно
		//смело сравнивать операторами ">" и "<"
	}


#include <stdio.h>

int main(int argc, char ** argv)
{
  return 0; // xxxxx "aaaa"
}


Указан неподдерживаемый язык.

Вы должны указать язык следующим образом: <source lang="html4strict">...</source>

Поддерживаемые языки:

[развернуть]


#include <stdio.h>

int main(int argc, char ** argv)
{
  return 0; // <b>xxxxx</b> "aaaa"
}


#include <stdio.h>

int main(int argc, char ** argv)
{
  return 0; // <b>xxxxx</b> "aaaa"
}

Как задать число знаков после запятой у float при преобразовании в строку?

примеры для разных случаев:

	char sDouble[128]
	float d1 = 0.001778;
	...
	sprintf(sDouble,"%.4f",d1);//4 знака после запятой
	...
	printf("%.4f", d1);//4 знака после запятой
	...
	cout<<setiosflags( ios::fixed )<< setprecision( 4 )
					<< d1;//4 знака после запятой

Как динамически задать число знаков после запятой у float при преобразовании в строку?