[C++]Giới hạn input thuộc dạng float(double) đến 2 chữ số thập phân

MasterWind

T.E.T.Я.I.S
Tham gia ngày
12/4/06
Bài viết
637
Reaction score
0
Mình mới bắt đầu học C++. Mình chỉ muốn hỏi là làm sao để có thể dùng lện cin>> vào 1 variable thuộc typedef float mà có thể giới hạn số nhập vào chỉ có 2 chữ số thập phân.

Ví dụ: Input như thế này là hợp lệ: 2.31 ; 2.3 ; 2. ; 2
còn input như thế này là không hợp lệ 2.3423423 . Chương trình sẽ dùng loop để kiểm tra input và sẽ hỏi nhập số cho đến khi nào input thỏa mãn điều kiện là 1 số có 2 chữ số thập phân hoặc ít hơn.


Mình đã nghĩ ra 1 cách nhưng không khả thi khi input là 2.310 (nếu tính ra thì giá trị vẫn là 2.31)
Mã:
#include <iostream>

using namespace std;

void main()
{
	float num;
	cout<<"Please input a real number!"; //Nhập 1 số nguyên
	cin>>num;
	
	while(int(num*1000)%10 != 0)
	{
		cout<<"\nInvalid input. Try again: "; 
                //Nhập số không đúng yêu cầu, nhập lại
		cin>>num;
	}
}

mình chỉ muốn hỏi là còn cách nào hay hơn không.
 
Chỉnh sửa cuối:
Back
Top