Pingvin úr9
Eredeti plakát- 2008. augusztus 1
- 2009. május 13
Kösz
SilentPanda
Moderátor emeritus
- 2002. október 8
- A Bambusz Erdő
- 2009. május 13
Pingvin úr9
Eredeti plakát- 2008. augusztus 1
- 2009. május 13
Kösz
PhoneyDeveloper
- 2008. szeptember 2
- 2009. május 13
Van még valami?
Próbáld meg beírni a terminálba, vagy keresd meg a google-ban
ember bűn M
Pingvin úr9
Eredeti plakát- 2008. augusztus 1
- 2009. május 13
Kösz R
Ron C
- 2008. július 18
- Chicago-körzet
- 2009. május 13
MrPenguin9 azt mondta: De amikor 'tan(1)'-t csinálok az xcode-ban, akkor visszaadja a 1556013989-et!?!? De az 1-es barnaság 0,017455... Mit csinálok rosszul?
Kösz
1556013989? Lehet, hogy csak egy lebegőpontos formátumú értéket nyomtat egész számként, típuskonverzió nélkül?
Honnan szeded ezt a tan() függvényt? math.h? Milyen típust ad vissza például a tan()? Radán vagy fok kell? Milyen típusba tárolod a visszatérési értéket?
Megnéztem a tan() man oldalt, és ezt írja:
Kód: |_+_| Tehát... az egyetlen függvény, amely megfelel ennek az aláírásnak, dupla (automatikus konverzió) és dupla (automatikus konverzió) értéket ad vissza, és radiánt vesz fel.
Hogyan látja az értéket? Hogy néz ki a kódod?
SZERKESZTÉS: Most ellenőriztem a tan(1 radián) értékét a Calculator.app-ban - azt írja ki: 1.557408. Szóval... szerinted miért kellene 0,017455-nek lennie? Ez a barnaság értéke (1 FOK) M
Pingvin úr9
Eredeti plakát- 2008. augusztus 1
- 2009. május 13
Guiyon
- 2008. április 19
- Cambridge, MA
- 2009. május 13
MrPingvin9 mondta: -(void)awakeFromNib {
Text.text = [NSString stringWithFormat'%d', tan(1)];
}
Az a probléma, hogy a tan duplát ad vissza, de a %d formátumú karakterlánc egész számot vár. A '%d' értékének '%lf'-re való módosítása megoldja a problémát. A „man 3 printf” beírása a terminálba sokkal több információt kap az Apple (és sok más könyvtár) által használt printf-stílusú formátum karakterláncokról; keresse meg azt a részt, amely a következővel kezdődik: 'A formátum karakterlánc nulla vagy több direktívából áll' R
Ron C
- 2008. július 18
- Chicago-körzet
- 2009. május 14
Guiyon azt mondta: Ez a probléma, a tan duplát ad vissza, de a %d formátumú karakterlánc egész számot vár. A '%d' értékének '%lf'-re való módosítása megoldja a problémát. A „man 3 printf” beírása a terminálba sokkal több információt kap az Apple (és sok más könyvtár) által használt printf-stílusú formátum karakterláncokról; keresse meg azt a részt, amely a következővel kezdődik: 'A formátum karakterlánc nulla vagy több direktívából áll'
Ezek a 'mágikus' típusú konverziók csak akkor fordulnak elő, ha a fordító tudja, hogy ilyennek lennie kell. Az egyik eset, amikor nem fogja tudni, az olyan kódban van, mint a stringWithFormat: - nem igazán tudja, hogy konverziónak kell lennie, így vidáman halad végig egy duplán. Ha elkezdesz játszani a lebegőpontos típusokkal, akkor erre figyelned kell.
Egy másik rövid megjegyzés a lebegőpontos típusokról. Ne írjon ilyen kódot: Kód: |_+_| A probléma az = és a lebegőpontos típusokkal az, hogy nagyon valószínűtlen, hogy egyenlőek. Még valami ilyesmi: Kód: |_+_| A táblán ezek a számok megegyeznek. A számítógépen belül nem kell lenniük. Furcsa, de meg kell szokni. M
Pingvin úr9
Eredeti plakát- 2008. augusztus 1
- 2009. május 15
Köszönöm mindenkinek a segítséget!
Népszerű Bejegyzések