Ping and lcd, putting decimals periods

I have a ping and an lcd hooked up to my arduino. I want it to say "distance: (the number of and inches and centimeters) "
Here's my code:

// include the library code:
#include <LiquidCrystal.h>

const int pingPin = 7;

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  // set up the LCD's number of columns and rows: 
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("Distance:");
  
  Serial.begin(9600);
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
   long duration, inches, cm;

  // The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
  // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin, LOW);

  // The same pin is used to read the signal from the PING))): a HIGH
  // pulse whose duration is the time (in microseconds) from the sending
  // of the ping to the reception of its echo off of an object.
  pinMode(pingPin, INPUT);
  duration = pulseIn(pingPin, HIGH);

  // convert the time into a distance
  inches = microsecondsToInches(duration);
  cm = microsecondsToCentimeters(duration);
  
  Serial.print(inches);
  Serial.print("in, ");
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();
  
  delay(100);
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(cm);
  lcd.setCursor(4, 1);
   lcd.print(inches);
}
long microsecondsToInches(long microseconds)
{
 return microseconds / 74 / 2;
}

long microsecondsToCentimeters(long microseconds)
{
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;
}

Now what happens is it reads "distance: 443 17 (just some random numbers I picked)" The problem is I want it to add the decimal period or at least round the number. How do I do this?

The problem is I want it to add the decimal period or at least round the number. How do I do this?

You have declared that duration, inches, and cm are integer types:

   long duration, inches, cm;

Integer types do not have decimal places.

Ok, but now on the serial monitor it doesn't get that extra number. So why am I getting that extra number and how do I fix it to look like the serial monitor's numbers?

Ok, but now on the serial monitor it doesn't get that extra number. So why am I getting that extra number and how do I fix it to look like the serial monitor's numbers?

You made some code changes. Now, the code doesn't work. As soon as I get my crystal ball back from the cleaners, I'll help you out. Don't hold your breath, though. Last time, it took almost two years.

Of course, you could post your new code...

Yours to the Cleaners...? I broke mine when I asked it if I was good looking... The Da*m thing is still laughing when I let it out of the box...

Doc...