decimales con el sensor BME280 (Solucionado)

estoy usando el sensor BMP280, y no consigo que me muestre los decimales, me redondea por ejemplo Humedad 45%, presion 1012 hpa pero si me muestra los de la temperatura.

/*
 * bme280_example.ino
 * Example sketch for bme280
 *
 * Copyright (c) 2016 seeed technology inc.
 * Website    : www.seeedstudio.com
 * Author     : Lambor
 * Create Time:
 * Change Log :
 *
 * The MIT License (MIT)
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */
#include "Seeed_BME280.h"
#include <Wire.h>

BME280 bme280;

void setup()
{
  Serial.begin(9600);
  if(!bme280.init()){
    Serial.println("Device error!");
  }
}

void loop()
{
  float pressure;
  
  //get and print temperatures
  Serial.print("Temp: ");
  Serial.print(bme280.getTemperature());
  Serial.println("C");//The unit for  Celsius because original arduino don't support speical symbols
  
  //get and print atmospheric pressure data
  Serial.print("Pressure: ");
  pressure = bme280.getPressure();
  Serial.print(bme280.getPressure());
  Serial.println("Pa");

  //get and print altitude data
  Serial.print("Altitude: ");
  Serial.print(bme280.calcAltitude(pressure));
  Serial.println("m");

  //get and print humidity data
  Serial.print("Humidity: ");
  Serial.print(bme280.getHumidity());
  Serial.println("%");

  delay(1000);
}

consegui que me muestre los decimales de la presion y humedad pera la de la humedad 45.00% cuando yo veo usando otro skech sin libreria que es 45.65% por que 00

#include "Seeed_BME280.h"
#include <Wire.h>

BME280 bme280;

double presion;
double humedad;

void setup()
{
  Serial.begin(9600);
  if(!bme280.init()){
    Serial.println("Device error!");
  }
}

void loop()
{
  float pressure;
  
  //get and print temperatures
  Serial.print("Temp: ");
  Serial.print  (bme280.getTemperature());
  Serial.println("C");//The unit for  Celsius because original arduino don't support speical symbols
  
  //get and print atmospheric pressure data
  Serial.print("Pressure: ");
  presion =bme280.getPressure();
  Serial.print(presion/100);
  Serial.println("Pa");

  //get and print altitude data
  Serial.print("Altitude: ");
  Serial.print(bme280.calcAltitude(presion));
  Serial.println("m");

  //get and print humidity data
  Serial.print("Humidity: ");
  humedad=bme280.getHumidity();
  Serial.print(humedad);
   Serial.println("%");

  delay(1000);

Bueno después de cambiar librería ya que era la inicial para comenzar el proyecto de estación meteorológica, y de probar y buscar el error ya tengo el código que recolecta datos, ahora falta el de la pantalla nextion, y para mi por ahora lo mas complicado el esp8266 :frowning: , pero funciona o funciona :slight_smile:
el código recolector quedo así. Lo subo por si a alguien le sirve.

#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>

Adafruit_BME280 bme; // I2C

float temperature;
float humidity;
float pressure;
float altitud;
float raiz1;
float raiz2;
float Pun_rocio;

unsigned long inicia=0;
int tiempo =5000;


void setup(void) {
  Serial.begin(9600);
  
  bool status;
   // default settings
    status = bme.begin(0x76);  //La direccion I2C del sensor que uso un BME280 x76
    if (!status) {
  Serial.print("connections");
while (1);
    }
}

void loop() {
getPressure();
getHumidity();
getTemperature();

 
 String temperatureString = String(temperature,1);
 String humidityString = String(humidity,2); 
 String pressureString = String(pressure,2);
    if(millis()-inicia>=tiempo){
      inicia=millis();
    
 Serial.println("----------------------------");
 Serial.print("Temperatura: ");
 Serial.println(temperatureString);
 Serial.print("Humedad : ");
 Serial.print(humidityString);
 Serial.println(" %");
 Serial.print("Presion At.: ");
 Serial.print(pressureString);
 Serial.println("  hPa");
 Serial.print("Punto de Rocio  :");
 Serial.print(Pun_rocio);
 Serial.println(" %");
 Serial.print("Altitud : ");
 Serial.print(altitud/1000);
 Serial.println("  Mts/mar");
 Serial.println("------------------------------");   }
 
//calcular altura nivel del mar en base a la presión atmosferica
 
  float A = pressure/101325;
  float B = 1/5.25588;
  float C = pow(A,B);
  C = 1.0 - C;
  altitud = C /0.0000225577;
  
 
  //calcular punto de rocío
 raiz1= pow(humidity,1.0/8);
 raiz2= pow(100,1.0/8);
 float div_raiz= raiz1/raiz2;
 Pun_rocio= div_raiz*(110+temperature)-110;
}

float getTemperature()
{temperature = bme.readTemperature();}

float getHumidity()
{humidity = bme.readHumidity();}

float getPressure()
{pressure = bme.readPressure();
 pressure = pressure/100.0F;}