Go Down

Topic: Come faccio a scrivere un valore con 2 decimali dopo la virgola? (Read 527 times) previous topic - next topic

parapaolo

Problema stupido ma al momento sono in panne  :smiley-red:

Ho una variabile Val che è il risuktato di un operazione matematica e mi da valori con molti decimali es. 3.956478512 ora usando l'istruzione per scrivere sul display lcd.print(val); mi viene scritta solo l'intero.

Come faccio a dirgli di voler vedere così: 3.95

leo72

La LiquidCrystal supporta sulla print solo numeri interi o stringhe:
http://arduino.cc/en/Reference/LiquidCrystalPrint

Devi convertire quindi il tuo numero in virgola mobile in una stringa oppure spezzarlo in 2 interi (il primo per la parte intera ed il secondo per la parte decimale: basta un int(val*100) per avere i 2 decimali), separati dalla stampa del "."


astrobeed


stefa24

ciao
stavo leggendo questa discussione, in questa parte di programma non si usano stringhe, quindi i risultati che ottengo non sono corretti anche se mi sembravano attendibili

Code: [Select]
void printTemperature(DeviceAddress deviceAddress)
{
  float tempC=sensors.getTempC(deviceAddress);
  delay(500);
  if (tempC==-127.00)
  {
    Serial.print("Error getting temperature");
  }
  else
  {
   Serial.print("C: ");
  //datostringTEMP=String(int(tempC*100));
  Serial.println(tempC,3);

  lcd.setCursor(0,2);
  //lcd.print((char)223);//arduino symbol ° lcd
  lcd.write(B11011111);//arduino symbol ° lcd
    lcd.print("C");
   lcd.setCursor(3,2);
     lcd.print (tempC,3);
    } 



Go Up