Ο κύριος Πιγκουίνος 9
Πρωτότυπη αφίσα- 1 Αυγούστου 2008
- 13 Μαΐου 2009
Ευχαριστώ
SilentPanda
Επίτιμος συντονιστής
- 8 Οκτωβρίου 2002
- Το Δάσος Μπαμπού
- 13 Μαΐου 2009
Ο κύριος Πιγκουίνος 9
Πρωτότυπη αφίσα- 1 Αυγούστου 2008
- 13 Μαΐου 2009
Ευχαριστώ
PhoneyDeveloper
- 2 Σεπτεμβρίου 2008
- 13 Μαΐου 2009
Υπάρχει κάτι παραπάνω;
Δοκιμάστε να το πληκτρολογήσετε στο τερματικό ή ψάξτε το στο google
άνθρωπος αμαρτία Μ
Ο κύριος Πιγκουίνος 9
Πρωτότυπη αφίσα- 1 Αυγούστου 2008
- 13 Μαΐου 2009
Ευχαριστώ R
Ρον Σ
- 18 Ιουλίου 2008
- Σικάγο-περιοχή
- 13 Μαΐου 2009
Ο MrPenguin9 είπε: Αλλά όταν κάνω 'tan(1)' σε xcode μου δίνει πίσω το 1556013989!?!? Αλλά το μαύρισμα του 1 είναι 0,017455... Τι κάνω λάθος;
Ευχαριστώ
1556013989; Μπορεί απλώς να εκτυπώνει μια τιμή με μορφοποίηση κινητής υποδιαστολής ως ακέραιος χωρίς τη μετατροπή τύπου;
Από πού παίρνετε αυτή τη συνάρτηση tan(); math.h; Τι τύπο επιστρέφει το tan(), για παράδειγμα; Παίρνει ακτίνια ή βαθμούς; Σε ποιον τύπο αποθηκεύετε την τιμή επιστροφής;
Έλεγξα τη σελίδα man για tan() και λέει:
Κωδικός: |_+_| Άρα.... η μόνη συνάρτηση που ταιριάζει με αυτή την υπογραφή παίρνει διπλό (αυτόματη μετατροπή) και επιστρέφει διπλό (επίσης αυτόματη μετατροπή) και παίρνει ακτίνια.
Πώς βλέπετε την τιμή; Πώς μοιάζει ο κωδικός σας;
EDIT: Μόλις έλεγξα την τιμή του tan(1 radian) στο Calculator.app - λέει: 1,557408. Λοιπόν... γιατί πιστεύετε ότι πρέπει να είναι 0,017455; Αυτή είναι η τιμή του μαυρίσματος (1 ΒΑΘΜΟΣ) Μ
Ο κύριος Πιγκουίνος 9
Πρωτότυπη αφίσα- 1 Αυγούστου 2008
- 13 Μαΐου 2009
Guiyon
- 19 Απριλίου 2008
- Cambridge, MA
- 13 Μαΐου 2009
Ο MrPenguin9 είπε: -(void)awakeFromNib {
Text.text = [NSString stringWithFormat'%d', tan(1)];
}
Υπάρχει το πρόβλημά σας, το tan επιστρέφει διπλό αλλά η συμβολοσειρά μορφής %d αναμένει έναν ακέραιο. Η αλλαγή του '%d' σε '%lf' θα πρέπει να το διορθώσει. Πληκτρολογώντας «man 3 printf» στο τερματικό θα σας δώσει πολύ περισσότερες πληροφορίες σχετικά με τις συμβολοσειρές μορφής printf που χρησιμοποιεί η Apple (και πολλές άλλες βιβλιοθήκες). αναζητήστε το τμήμα που ξεκινά με 'Η συμβολοσειρά μορφής αποτελείται από μηδέν ή περισσότερες οδηγίες' R
Ρον Σ
- 18 Ιουλίου 2008
- Σικάγο-περιοχή
- 14 Μαΐου 2009
Ο Guiyon είπε: Υπάρχει το πρόβλημά σας, το tan επιστρέφει διπλό αλλά η συμβολοσειρά μορφής %d αναμένει έναν ακέραιο. Η αλλαγή του '%d' σε '%lf' θα πρέπει να το διορθώσει. Πληκτρολογώντας «man 3 printf» στο τερματικό θα σας δώσει πολύ περισσότερες πληροφορίες σχετικά με τις συμβολοσειρές μορφής printf που χρησιμοποιεί η Apple (και πολλές άλλες βιβλιοθήκες). αναζητήστε το τμήμα που ξεκινά με 'Η συμβολοσειρά μορφής αποτελείται από μηδέν ή περισσότερες οδηγίες'
Αυτές οι μετατροπές «μαγικού» τύπου δεν πραγματοποιούνται εκτός εάν ο μεταγλωττιστής γνωρίζει ότι πρέπει να υπάρχει μία. Μια περίπτωση που δεν γνωρίζει είναι σε κώδικα όπως stringWithFormat: - δεν γνωρίζει πραγματικά ότι πρέπει να υπάρχει μετατροπή, επομένως περνάει χαρούμενα κατά μήκος ενός διπλού. Μόλις αρχίσετε να παίζετε με τύπους κινητής υποδιαστολής, πρέπει να δώσετε προσοχή σε αυτό.
Μια άλλη σύντομη σημείωση σχετικά με τους τύπους κινητής υποδιαστολής. Μην γράφετε κώδικα όπως: Κωδικός: |_+_| Το πρόβλημα με τους τύπους = και κινητής υποδιαστολής είναι ότι είναι πολύ απίθανο να είναι ίσοι. Ακόμα και κάτι σαν: Κωδικός: |_+_| Στον πίνακα σας, αυτοί οι αριθμοί είναι ίδιοι. Μέσα στον υπολογιστή, δεν χρειάζεται να είναι. Είναι περίεργο, αλλά πρέπει να το συνηθίσεις. Μ
Ο κύριος Πιγκουίνος 9
Πρωτότυπη αφίσα- 1 Αυγούστου 2008
- 15 Μαΐου 2009
Σας ευχαριστώ όλους που με βοηθήσατε!
Δημοφιλείς Αναρτήσεις