Diferencia entre revisiones de «objeto.indexOf()»

De ArduWiki
Saltar a: navegación, buscar
m
(Ejemplo)
Línea 18: Línea 18:
 
Nada.
 
Nada.
  
== Ejemplo ==
+
== Ejemplo 1 ==
 
<syntaxhighlight lang="c++">
 
<syntaxhighlight lang="c++">
 
String frase = "Apuntes de Arduino";
 
String frase = "Apuntes de Arduino";
Línea 24: Línea 24:
 
frase.indexOf('A',2);  //11
 
frase.indexOf('A',2);  //11
 
frase.indexOf('m');    //-1
 
frase.indexOf('m');    //-1
 +
</syntaxhighlight>
 +
 +
== Ejemplo 2 ==
 +
En este ejemplo ponemos en el monitor serie algo como 123,456,789 y obtendremos 456.00 el numero entre las , en [[float]]
 +
 +
<syntaxhighlight lang="c++">
 +
void setup() {
 +
  Serial.begin(9600);
 +
}
 +
 +
void loop() {
 +
  String num = "";
 +
  while (Serial.available()){
 +
      char c = Serial.read();
 +
      num = num + c;
 +
      delay(10);
 +
  }
 +
  if (num != ""){
 +
      byte pos1 = num.indexOf(",") +1;
 +
      byte pos2 = num.indexOf(",",pos1);
 +
      float n = num.substring(pos1,pos2).toFloat();
 +
      Serial.println(n);
 +
  }
 +
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Revisión del 15:30 20 feb 2019

Descripción

Retorna la primera posición del caracter o cadena dados.

Sintaxis

objeto.indexOf(c[, desde]);

Parámetros

objeto
Instancia de la clase String.
c
Carácter o cadena a buscar dentro del objeto (char, string o String).
desde
Permite buscar una coincidencia desde cierta posición.

Retorna

La posicion hallada, o -1 si no lo encuentra (int).

Advertencias

Nada.

Ejemplo 1

String frase = "Apuntes de Arduino";
frase.indexOf('A');    //0
frase.indexOf('A',2);  //11
frase.indexOf('m');    //-1

Ejemplo 2

En este ejemplo ponemos en el monitor serie algo como 123,456,789 y obtendremos 456.00 el numero entre las , en float

void setup() {
   Serial.begin(9600);
}

void loop() {
   String num = "";
   while (Serial.available()){
      char c = Serial.read();
      num = num + c;
      delay(10);
   }
   if (num != ""){
      byte pos1 = num.indexOf(",") +1;
      byte pos2 = num.indexOf(",",pos1);
      float n = num.substring(pos1,pos2).toFloat();
      Serial.println(n);
   }
}

Vea también

Referencias