2016-02-06 4 views
0

Я очень новичок в языке программирования. поэтому я столкнулся с некоторыми проблемами. пожалуйста, помогите мне. Можно ли вводить ввод с плавающим или двойным номером с 2 цифрами после десятичной точки, используя «scanf» в C ??Ввод десятичных чисел в C

Заранее спасибо.

+0

Добро пожаловать в StackOverflow. Поделитесь некоторыми из вашего текущего кода, которые помогут вам получить помощь с этого сайта. – James

ответ

2

Смотрите здесь: How to only accept a certain precision (so many decimals places) in scanf?

float value; 
scanf("%4f", &value); 

Это на самом деле не делать этого, но читает 4 цифры редактирования: 4-х символов число с плавающей точкой. Вы можете установить другой номер вместо 4.

Если вам действительно нужно всего 2 знака после запятой, вы можете прочитать номер с scanf, а после этого раунда - roundf.

#include <math.h> 
... 
float value; 
scanf("%f", &value); 
value = roundf(value*100)/100 
+0

Большое вам спасибо. – Cnth

+0

Minor: Использование 'round (value * 100.0)/100' (' round() '' 100.0') обычно позволяет избежать проблем с диапазоном и точностью. – chux

1

Вы можете прочитать поплавки с

float a; 
scanf("%f", &a); 

Вы можете прочитать двойников с

double a; 
scanf("%lf", &a); 
Смежные вопросы