Sending data to ThingSpeak doesn't show decimals.

Could anyone help me with this?
I am using 3 temperature sensors to check the temperature on different locations.
When I print to the serial monitor i get as a result: 21.20°C
When I upload to thingspeak it says: 21
How can I include the decimals?

Below is my loop() code. The program works fine, just doesn’t send decimals to thingspeak.

Ignore field 1, this is for a future sensor.

void loop() {

sensors.requestTemperatures();
sensors2.requestTemperatures();
sensors3.requestTemperatures();

int number1 = 0;
int number2 = sensors.getTempCByIndex(0);
int number3 = sensors2.getTempCByIndex(0);
int number4 = sensors3.getTempCByIndex(0);

// set the fields with the values
ThingSpeak.setField(1, number1);
ThingSpeak.setField(2, number2);
ThingSpeak.setField(3, number3);
ThingSpeak.setField(4, number4);

// write to the ThingSpeak channel
int x = ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);
if(x == 200){
Serial.println("Channel update successful.");
}
else{
Serial.println("Problem updating channel. HTTP error code " + String(x));
}

delay(20000); // Wait 20 seconds to update the channel again
}
int number2 = sensors.getTempCByIndex(0);
int number3 = sensors2.getTempCByIndex(0);
int number4 = sensors3.getTempCByIndex(0);

Why are these number variables ints if you are dealing with floats ?

UKHeliBob:

int number2 = sensors.getTempCByIndex(0);

int number3 = sensors2.getTempCByIndex(0);
int number4 = sensors3.getTempCByIndex(0);



Why are these number variables ints if you are dealing with floats ?

I tried making these floats, but then the data wont send to ThingSpeak.
float number2 = sensors.getTempCByIndex(0);
Edit: I am still very new to this, this is my second arduino project.
Loving it so far, but I cant figure this one out.

Multiply the numbers by 10 on the Arduino, and divide by 10 in ThingWhotsit.

You don't really expect two places of decimals, do you?

AWOL:
Multiply the numbers by 10 on the Arduino, and divide by 10 in ThingWhotsit.

You don’t really expect two places of decimals, do you?

Two places of decimals would be nice.
Is there an other way to define numbers instead of the int string?

int number2 = sensors.getTempCByIndex(0);
Serial.print(number2); <---- Gives result: 19
Serial.print(sensors2.getTempCByIndex(0));  <---- Gives result 19.42

Clearly, getTempCByIndex(0)) returns a floating point value, which you assign to an integer data type.
Neither is an "int string"

Multiply by a hundred then, if you want two places of decimals that you probably don't have.

AWOL:
Multiply the numbers by 10 on the Arduino, and divide by 10 in ThingWhotsit.

You don't really expect two places of decimals, do you?

nice trick

Two places of decimals would be nice.

For a device that is accurate to +/- half a degree? Not bloody likely.