Comment puis-je concaténer deux nombres comme 7 et 6 pour obtenir le nombre 76, ou 3 et 3 de sorte que le résultat soit 33, dans l'objectif-c?Comment concaténer deux nombres dans Objective-C
Répondre
Il n'y a pas construit en symbole pour concaténer nombres. Cependant, vous pouvez accomplir cela en faisant:
int first; /* Assuming this is initialized to the first number */
int second; /* Assuming this is initalized to the second number */
int myVal = [[NSString stringWithFormat:@"%d%d",first, second] intValue];
L'analyse syntaxique des chaînes de format est coûteuse. Utilisez -stringByAppendingString: quand vous le pouvez. – NSResponder
Cela nécessiterait deux allocations de mémoire distinctes, ce qui pourrait être plus coûteux que l'analyse de cette chaîne d'expression (simple). En tout cas, je ne pense pas que la performance de l'une ou l'autre méthode sera un énorme problème. – Mike
D'accord avec Mike. La complexité de la configuration de deux chaînes à partir d'entiers et de leur concaténation est peu susceptible d'être meilleure que le + stringWithFormat pour ce problème. Il faudrait certainement que le profilage le sache avec certitude, car l'autre méthode courante, utilisant NSNumber -stringValue, pourrait être encore plus coûteuse. Même si vous aviez déjà les chaînes, je serais très curieux du coût réel de + stringWithFormat versus -stringByAppendingString, surtout dans le cas de plus de 2 éléments, et seul le profilage nous le dirait. Le cacao ne fait aucune promesse d'efficacité dans les deux cas. –
Ce n'est pas une opération numérique, c'est une concaténation de chaîne.
Si vous voulez deux nombres x et y ajouter à xy, vous pouvez faire
10 * x + y.
Pour 7 et 6
7 * 10 + 6 = 76
Cela ne fonctionnera que pour les nombres à un chiffre. – Mike
Je ne sais pas grand-chose à propos de c-objectif, mais je dirais:
Si vous obtenez les numéros à partir d'un tableau, comme nums = array (7,6), initialisez result = 0, puis faites un foreach sur eux. Pour chaque valeur que vous trouvez, faites: res = res * 10 + value. À la fin, même si vous avez 7 numéros à concaténer vous obtiendrez le résultat correct. à savoir:
Array nums = tableau (7,6,8,9); int res = 0; int valeur; foreach (valeur en nums) res = res * 10 + valeur;
Si vous pouvez utiliser des chaînes, il suffit de les concaténer comme suggéré ci-dessus. il y a probablement une fonction pour concaténer toutes les valeurs d'un tableau afin de le rendre flexible.
Hope it helps
C^
- 1. Comment concaténer deux histoires git?
- 2. Comment concaténer deux C++ carte
- 3. Comment concaténer deux binaires dans Erlang?
- 4. Comment concaténer deux tableaux multidimensionnels dans VB?
- 5. comment concaténer deux chaînes _T?
- 6. Concaténer deux champs
- 7. MYSQL - Concaténer deux tables
- 8. Comment concaténer des nombres et des chaînes pour formater des nombres dans T-SQL?
- 9. concaténer deux champs dans une liste déroulante
- 10. XQuery: comment concaténer deux constructeurs en retour?
- 11. pourquoi deux nombres dans android
- 12. Analyseur AMF0 dans ObjectiveC
- 13. Comment concaténer des plages de nombres dans un tableau dans MATLAB?
- 14. Comment concaténer deux collections par index dans LINQ
- 15. Comment concaténer deux zones de texte dans JQuery?
- 16. Comment concaténer les lignes correspondantes dans deux fichiers en Perl?
- 17. regex comparer deux nombres
- 18. Jquery: Concaténer valeurs de deux éléments
- 19. Personnalisation de writeToFile dans ObjectiveC
- 20. Concaténer deux variables pour en obtenir une
- 21. Combine chaîne en ObjectiveC
- 22. produit de deux nombres dans un tableau
- 23. Comment concaténer dans la cellule
- 24. Problème LINQ à concaténer deux collections
- 25. Macro pour concaténer deux chaînes en C
- 26. Comment obtenir les deux premiers nombres dans une intégrale?
- 27. comment multiplier deux grands nombres (disons 512 bits) dans Java
- 28. NSString question ObjectiveC
- 29. Comment concaténer deux chaînes avec le fournisseur Jet.OLEDB.4.0
- 30. Comment concaténer deux valeurs flottantes en Objective-C?
Cela ne veut pas ajouter, c'est concaténation. –
Modifier pour refléter l'intention originale. –