Mam 2 int. Jak podzielić jeden po drugim, a następnie zaokrąglić później?Podziel int i zaokrąglij w Objective-C
Odpowiedz
-(NSInteger)divideAndRoundUp:(NSInteger)a with:(NSInteger)b
{
if(a % b != 0)
{
return a/b + 1;
}
return a/b;
}
ponieważ boole wciąż są 0/1 w tym języku, możesz po prostu mieć: 'return a/b + (a% b! = 0)' – iisystems
Pamiętaj, że chociaż ten przypadek jest dobry, BOOLs niekoniecznie 1 i 0 Są to "0" i "nie 0" –
@ Rozwiązanie Howarda może być bardziej wydajne i matematycznie prostsze, ale bardziej podoba mi się ten soltion. Intencja i metodologia są jaśniejsze dla tych z nas, programistów, którzy myślą w kategoriach warunków i obliczeń rozgałęzień, a nie algebraicznej równoważności. ;-) –
jak w C, można oddać zarówno do pływania, a potem okrągły wynik stosując funkcję zaokrąglania, która przyjmuje pływaka jako wejście.
int a = 1;
int b = 2;
float result = (float)a/(float)b;
int rounded = (int)(result+0.5f);
i
Nie ma potrzeby rzutowania na float - są prostsze i łatwiejsze rozwiązania tylko dla liczb całkowitych - patrz odpowiedź @ Howarda na przykład –
Dobra uwaga - przegapiłem część "zaokrąglania". Howard's jest bardzo eleganckim rozwiązaniem +1 –
Co o:
float A,B; // this variables have to be floats!
int result = floor(A/B); // rounded down
int result = ceil(A/B); // rounded up
Jeśli szukasz 2,1 łapanki> 3
double row = _datas.count/3;
double rounded = ceil(_datas.count/3);
if(row > rounded){
row += 1;
}else{
}
- 1. Zaokrąglij podwójnie do int
- 2. Swift - Podziel Int do jego indywidualnych cyfr
- 3. Wdrożenie ObjectiveC protokół w szybkim
- 4. ObjectiveC Parse Integer from String
- 5. Zaokrąglij datetime do poprzedniej godziny
- 6. zaokrąglij spację do najbliższego 0.5 w pytonie
- 7. Pomoc z GCC i kodem ObjectiveC oraz Cygwin
- 8. ObjectiveC: gdzie zadeklarować prywatne właściwości instancji?
- 9. Podziel i dołącz plik binarny do java
- 10. Podziel ciąg na listę <int> ignoruj brak wartości int
- 11. Różnica między int i deklaracją int int
- 12. Różnica między int * i int * i
- 13. MySql, podziel łańcuch i wstaw do tabeli
- 14. Podziel tablicę w MATLAB
- 15. Podziel duży plik w C++
- 16. Podziel ciąg w VB.NET
- 17. Podziel HTML na strony, podziel długie akapity
- 18. Podziel dwukrotnie na dwie int, jedną wartość przed przecinkiem i jedną po
- 19. Pobierz datę systemową i podziel dzień, miesiąc i rok.
- 20. Co to jest int (int) i lub int (int) const i?
- 21. FirstOrDefault Behavior with Int i Int?
- 22. JavaScript: Zaokrąglij w górę i w dół do najbliższych 5, a następnie znajdź wspólny mianownik
- 23. Podziel Dialog nie działa
- 24. Różnica między void (int) i void (*) (int)
- 25. Podziel ciąg znaków i zapisz w tablicy w lua
- 26. Podziel tytuł figurki w matplotlib
- 27. Podziel pojemnik na porcje, C++
- 28. Podziel ciąg na tablicę ciągów
- 29. Podziel ciąg na ukośnik w przód
- 30. Składnia ObjectiveC do określania nazwy protokołu w argumencie Metoda Argumenty
Jest to bardzo proste pytanie, ale jest to uzasadnione; Dzielenie liczb całkowitych nie zawsze zachowuje się tak, jak można się spodziewać. –
Wiem, że brzmi to dość kiepsko, ale walczę z różnymi typami danych celu, zepsutymi automatycznym castingiem, jaki możesz zrobić w .net – Slee