-2
votes

Comment puis-je convertir une chaîne () en int () dans le traitement?

Je fais ce projet où j'utilise un tableau d'arduino pour lire les impulsions de coeur, je souhaite donc envoyer de l'Arduino à ne traiter qu'un seul numéro (le BPM de la personne); afin que je puisse utiliser ces informations dans mon code de traitement pour manipuler une image visuelle que j'ai créée dans le traitement. Mon problème pour le moment est que cette information soit dans la chaîne (), donc je ne peux donc pas l'utiliser comme variable - int () ou float () - et j'ai des difficultés à faire cette conversion, de la chaîne à int ( ).

Ceci est mon code pour le moment: xxx

J'ai essayé de convertir la chaîne () en int () mais il ne semble pas fonctionner : xxx


13 commentaires

Avez-vous essayé d'utiliser la fonction int () ? Pouvez-vous s'il vous plaît poster un exemple de reproductible minimal ?


Je ne sais pas ce que tu veux dire. S'il vous plaît éditer votre message.


@Andicover Lire l'info Tag "A href =" https://stackoverflow.com/tags/processing/info "> Traitement >. Traitement est un crochet de signe de logiciel flexible et une langue pour apprendre à coder dans le contexte des arts visuels.


@ Rabbid76 qui ne rend pas la question plus lisible. La question est difficile à lire et c'est tout ce que je critique.


@Andicover je vois ton point.


@Kevinworkman, j'ai essayé de le changer à la fonction INT (), mais cela ne fonctionne pas.


@Andreiapereira Pouvez-vous être plus précis que de dire que cela ne fonctionne pas? Que fait-il à la place? Quelle erreur voyez-vous? Pouvez-vous s'il vous plaît poster un exemple de reproductible minimal que nous pouvons courir pour voir le problème nous-mêmes?


@Kevinworkman, postez simplement mon code actuel et aussi ce que j'ai essayé de faire pour résoudre mon problème. Je m'excuse pour la confusion.


@Andreiapereira Avez-vous essayé Débogage de votre code ? Quelle est la valeur de val avant d'essayer de le convertir? Quelle erreur obtenez vous?


@Kevinworkman Avant d'essayer de convertir le programme fonctionne bien et je peux voir sur mon écran à la fois sur l'image I Code et les informations provenant de l'Arduino. Et je ne sais pas comment répondre quelle est la valeur de val .


@Andreiapereira Avez-vous lu le lien que je viens de poster? Vous pouvez déboguer votre programme à l'aide des déclarations d'impression ou du débogueur de traitement.


@Kevinworkman, oui j'ai essayé d'utiliser le débogueur de traitement, mais je ne sais pas si j'ai fait quelque chose de mal ou si cela est censé prendre beaucoup de temps parce que cela ne me montre aucun résultat.


@Andreiapereira Pour utiliser le débogueur, vous devez définir un point d'arrêt, puis passer à travers le code. Ou vous pouvez ajouter une déclaration d'impression.


4 Réponses :


-1
votes
String str = "123";
int i = Integer.parseInt("str");

0 commentaires

0
votes

Selon la compréhension de la mine de votre question, j'ai la solution suivante Vous pouvez utiliser le code suivant pour convertir la valeur de chaîne en int. xxx

51 est une valeur de chaîne que vous pouvez convertir en int.


4 commentaires

Ce n'est pas la façon de le faire dans Traitement . Dans le traitement, il y a la fonction intégrée int ()


Salut rabbid76 Puis-je savoir ce que l'on entend par traitement et par intégralité (). J'ai pensé au traitement du programme, est-ce quelque chose de différent?


Veuillez lire l'info tag << a href = "https://stackoverflow.com/tags/processing/info"> traitement >. Traitement est un crochet de signe de logiciel flexible et une langue pour apprendre à coder dans le contexte des arts visuels. La signification du "traitement" n'est pas de manière générale.


Merci rabbid76 à partager



2
votes

dans Traitement Il y a la fonction intégrée int code> , qui peut convertir une chaîne (ou une valeur de point flottant) en un nombre intégral:

String s = "123";
int x = int(s);
print(x);


10 commentaires

Ma chaîne n'est pas une seule "déclaration"; Les valeurs changent toujours car les données sont en direct de la carte Arduino. Cela fonctionnerait-il toujours cet exemple que vous venez de me donner?


@Andreiapereira Que voulez-vous dire par "déclaration" dans ce contexte. Avez-vous une variable qui contient la chaîne? Si oui, vous pouvez utiliser int () pour convertir la chaîne en un nombre intégré ou float () , pour convertir en un numéro de point flottant. Au fait, certains code amélioreraient votre question.


Je m'excuse pour la confusion que je viens de modifier ma question avec mon code là-bas.


Que veux-tu dire? Juste en ajoutant int (val) puis changeez sur le myPort.readstringuntil ('\ n'); ?


@Andreiapereira val = myport.readstringuntil ('\ n'); lit une chaîne et stocke la chaîne dans val . int Valint = int (val); convertit la chaîne en une valeur intégrale.


"NullPointerException" est le message que cela me donne quand je le fais.


@Andreiapereira Vous devez définir val avant int (val) . String Val; n'est pas initialisé.


Comment puis-je le réparer? Parce que le problème semble être ce que vous avez dit, sur le String Val ne pas être initialisé, mais je ne sais pas quoi mettre en valeur pour Val.


@Pereira init val , E.G. string val = ""; . Mais pourquoi convertissez-vous ( int (val) ) lorsque NOTHIG est attribué à cela!?!? Init intval , par ex. int itval = 0; et changez-le si vous obtenez un nouveau val


@ Rabbit76, je l'ai fait, mais ça continue à dire "nullpointeException" à cause de cette ligne int Valint = int (val); , même après l'init tout.



-1
votes
          String str="22";
          Int  value= Integer.valueOf(str);

2 commentaires

Ma chaîne n'est pas une seule "déclaration"; Les valeurs changent toujours car les données sont en direct de la carte Arduino. Cela fonctionnerait-il toujours cet exemple que vous venez de me donner?


Stackoverflow.com/ Questions / 54921049 / ...