/ / Как да закръгля плаваща точка не. До два десетични точки? - ° С

Как да закръгля плаваща точка не. До два десетични точки? - ° С

Написах програми, в които компютърът пита за плаваща точка не. От потребителя. Например, ако аз съм entring 0.41, изходът в printf е 0.409999999. Как да разрешите тази грешка?

Отговори:

1 за отговор № 1

Това е просто. Употреба:

printf("%.2f", 0.409999999);

Това ще отпечата 0.41


1 за отговор № 2
  • % f (отпечатайте като плаваща точка)
  • % 4f (отпечатайте като плаваща точка с широчина най-малко 4 ширина)
  • % .4f (отпечатайте като плаваща запетая с точност от четири знака след десетичната запетая)
  • % 3.2f (отпечатайте като плаваща точка поне 3 широки и с точност 2)

0 за отговор № 3

Повечето от типовете данни с плаваща запетая са по технитеестество, неточно. Те се опитват да съхраняват реални числа (безкрайна прецизност) в ограничен прецизен бит-вектор. Като такъв, възможно е най-близкото представяне на 0.41 на вашата платформа да е 0.409999999.

Трябва да прочетете представата за плаваща запетая на IEEE754, за да получите представа какъв е проблемът, който ударихте там.