2009-04-18 45 views
5

Làm cách nào để có được giá trị thực hoặc giá trị thực từ phân chia số nguyên? Ví dụ:Nhận giá trị phao từ số nguyên

double result = 30/233; 

sản lượng bằng không. Tôi muốn giá trị có số thập phân.

Làm cách nào tôi có thể định dạng để chỉ hiển thị hai chữ số thập phân khi được sử dụng với chuỗi?

Trả lời

9

Bạn chỉ có thể thêm một số thập phân cho một trong hai tử số hoặc mẫu số:

double result = 30.0/233; 
double result = 30/233.0; 

typecasting một trong hai số còn hoạt động.

Đối với phần thứ hai của câu hỏi, nếu bạn sử dụng định dạng chuỗi printf-phong cách, bạn có thể làm một cái gì đó như thế này:

sprintf(str, "result = %.2f", result); 

Bascially, các" .2" đại diện cho bao nhiêu chữ số đầu ra sau dấu thập phân.

+0

Cảm ơn. Tôi đã không chắc chắn làm thế nào để sử dụng với char * nhưng điều này cũng hoạt động tốt [NSString stringWithFormat: @ "result =% .2f", result]. – 4thSpace

+0

Vâng, đó là điều tuyệt vời về Cocoa — có rất nhiều nơi mà các chuỗi định dạng kiểu printf được sử dụng (NSLog là điểm nổi bật nhất trong tất cả chúng, tôi muốn nói). – hbw

+1

Chỉ cần cẩn thận về sự khác biệt tinh tế, như% s đang được mã hóa dưới dạng mã hóa hệ thống thay vì bất kỳ mã hóa hiện tại nào gọi và% S là chuỗi UTF-16 lớn thay vì wchar_t. –

1

Nếu bạn có một số nguyên (không phải số nguyên không đổi):

int i = 20; 
int j = 220; 
double d = i/(double)j; 
0

Đây là cách đơn giản nhất để làm những gì bạn đang cố gắng để đạt được, tôi nghĩ rằng ..

double result = 30/233.0f; 

cho sự phát triển iOS (iPhone/iPad/etc) tốt hơn để sử dụng loại phao.

float result = 30/233.0f; 
Các vấn đề liên quan