Forumi

iOS Kako uporabljate sin, cos in tan?

M

MrPenguin9

Originalni plakat
1. avgusta 2008
  • 13. maja 2009
Kako uporabljate sin, cos in tan v iPhone sdk? In tudi, kako uporabite obratno od njih?

Hvala

SilentPanda

Zaslužni moderator
8. oktober 2002
Bambusov gozd


  • 13. maja 2009
Predvidevam, da bi uporabili samo različice C za cos, sin in tan. M

MrPenguin9

Originalni plakat
1. avgusta 2008
  • 13. maja 2009
Lahko prosim za primer tega.

Hvala

PhoneyDeveloper

2. september 2008
  • 13. maja 2009
Koda: |_+_|
Je kaj več?

Poskusite to vtipkati v terminal ali poguglati

človek greh M

MrPenguin9

Originalni plakat
1. avgusta 2008
  • 13. maja 2009
Toda ko naredim 'tan(1)' v xcode, mi vrne 1556013989!?!? Toda tan 1 je 0,017455... Kaj delam narobe?

Hvala R

Ron C

18. julij 2008
Območje Chicaga
  • 13. maja 2009
Diši po tipski težavi

MrPenguin9 je rekel: Toda ko naredim 'tan(1)' v xcode, mi vrne 1556013989!?!? Toda tan 1 je 0,017455... Kaj delam narobe?

Hvala

1556013989? Morda samo tiska vrednost, oblikovano s plavajočo vejico, kot celo število brez pretvorbe tipa?

Od kod dobivate to funkcijo tan()? math.h? Kakšno vrsto na primer vrne tan(? Ali traja radiane ali stopinje? V katero vrsto shranjujete vrnjeno vrednost?

Preveril sem stran man za tan() in piše:
Koda: |_+_| Torej.... edina funkcija, ki se ujema s tem podpisom, sprejme dvojno (samodejna pretvorba) in vrne dvojno (tudi samodejna pretvorba) in vzame radiane.

Kako gledate na vrednost? Kako izgleda vaša koda?

EDIT: Pravkar sem preveril vrednost tan (1 radian) v Calculator.app - piše: 1,557408. Torej... zakaj mislite, da bi morala biti 0,017455? To je vrednost tan (1 STOPNJA) M

MrPenguin9

Originalni plakat
1. avgusta 2008
  • 13. maja 2009
Tukaj je moja koda iz kode MainView.m: |_+_| (Oh, in nisem vedel, da je tan(x) v radianih.) Hvala fantje za pomoč! G

Guiyon

19. april 2008
Cambridge, MA
  • 13. maja 2009
MrPenguin9 je rekel: -(void)awakeFromNib {
Text.text = [NSString stringWithFormat'%d', tan(1)];
}

Tu je vaša težava, tan vrne dvojno, vendar niz formata %d pričakuje celo število. Če spremenite '%d' v '%lf', bi to moralo popraviti. Če na terminalu vnesete 'man 3 printf', boste dobili veliko več informacij o nizih formata v slogu printf, ki jih uporablja Apple (in številne druge knjižnice); poiščite del, ki se začne z 'Niz formata je sestavljen iz nič ali več direktiv' R

Ron C

18. julij 2008
Območje Chicaga
  • 14. maja 2009
Hitra opomba o samodejni pretvorbi in čudnosti s plavajočo vejico ...

Guiyon je rekel: Tu je vaša težava, tan vrne dvojno, a niz formata %d pričakuje celo število. Če spremenite '%d' v '%lf', bi to moralo popraviti. Če na terminalu vnesete 'man 3 printf', boste dobili veliko več informacij o nizih formata v slogu printf, ki jih uporablja Apple (in številne druge knjižnice); poiščite del, ki se začne z 'Niz formata je sestavljen iz nič ali več direktiv'

Te 'čarobne' pretvorbe tipa se ne zgodijo, razen če prevajalnik ve, da mora obstajati. En primer, ko ne bo vedel, je v kodi, kot je stringWithFormat: - v resnici ne ve, da bi morala biti pretvorba, zato veselo poda dvojno. Ko se začnete igrati z vrstami s plavajočo vejico, morate biti pozorni na to.

Še ena kratka opomba o vrstah s plavajočo vejico. Ne pišite kode, kot je: Koda: |_+_| Težava s tipi = in s plavajočo vejico je, da je malo verjetno, da bodo enaki. Tudi nekaj takega: Koda: |_+_| Na vaši tabli so te številke enake. Ni nujno, da so znotraj računalnika. Čudno je, a se moraš navaditi. M

MrPenguin9

Originalni plakat
1. avgusta 2008
  • 15. maja 2009
Delovalo je.

Hvala vsem, ki ste mi pomagali!