2010-07-07 42 views
6

Trong ứng dụng iPhone, tôi có 2 số lớn được lưu trong NSStrings và tôi muốn tìm ra số phao có thể đạt được bằng cách chia chúng.Chia số dài dài thành phần trăm

Ngay bây giờ, tôi có:

unsigned long long number = [string1 longLongValue];
unsigned long long number2 = [string2 longLongValue];
float percent = number/number2;
[textField setText:[NSString stringWithFormat: @"%f%%",percent]];

(tôi giả sử tôi phải sử dụng "unsigned dài dài" thay vì ints vì những con số trong NSStrings là khá cao đầu tiên là 309.681.754 và thứ hai là 6,854,433,820)

Tuy nhiên, sau khi tôi làm điều này, tôi luôn nhận được 0% trong trường văn bản. Tôi đang làm gì sai?

Cảm ơn bạn đã giúp đỡ trước.

Trả lời

20

Bạn đang chia số nguyên. Điều đó luôn dẫn đến một số nguyên.

Những gì bạn cần làm là truyền chúng sang phao nổi trước khi chia. Điều này sẽ hoạt động:

float percent = (float)number/(float)number2; 
+0

Xin cảm ơn điều đó đã xảy ra. Nếu tôi muốn kết quả ở định dạng phần trăm, tôi sẽ di chuyển dấu thập phân như thế nào? – element119

+0

Ví dụ: tôi nhận được .04518 và tôi muốn nó là 4.518% – element119

+16

@golfromeo: Nghiêm túc? Bạn đang hỏi cách di chuyển dấu thập phân *? Thở dài. Nhân với 100. –

Các vấn đề liên quan