2014-11-27 15 views
5

Tôi cần kiểm tra xem một số nguyên có thể chia hết cho một số nguyên khác chính xác không.Kiểm tra trong một số nguyên có thể chia hết cho một số nguyên khác (Swift)

Nếu không, tôi muốn làm tròn nó lên số gần nhất của số đó.

Ví dụ:

var numberOne = 3 
var numberTwo = 5 

numberTwo được không phải là một bội số của numberOne Vì vậy, tôi muốn nó làm tròn numberTwo lên đến 6.

Làm thế nào tôi sẽ làm điều này? Cảm ơn bạn

Trả lời

8

Bạn có thể sử dụng toán tử modulo %:

numberTwo % numberOne == 0 

Các modulo tìm thấy phần còn lại của một bộ phận số nguyên nằm giữa 2 con số, vì vậy ví dụ:

20/3 = 6 
20 % 3 = 20 - 6 * 3 = 2 

Kết quả của 20/3 là 6.666667 - cổ tức (20) trừ đi phần nguyên của bộ phận đó nhân với số chia (3 * 6) là modulo (20 - 6 * 3), bằng 2 trong trường hợp này.

Nếu modulo là số không, sau đó cổ tức là một bội số của số chia

Thông tin thêm về modulo tại this trang wikipedia.

+0

Phần đầu tiên làm việc cho tôi tuy nhiên tôi không chắc chắn ý nghĩa của dòng dưới cùng. Làm thế nào để tôi tìm ra những gì tôi nên thêm vào 20 để làm cho nó chia hết cho 3? Tôi muốn làm tròn nó lên. Cảm ơn –

+0

Đã cập nhật câu trả lời - hy vọng điều đó sẽ giải thích một chút. – Antonio

1

Bạn có thể sử dụng truncatingRemainder. Ví dụ:

if number.truncatingRemainder(dividingBy: 10) == 0 {     
    print("number is divisible by 10") 
} 
Các vấn đề liên quan