Long story short, strings can contain a series of characters in a row. "Stringed together", these characters can form words, sentences, and so on - so the data type is called a string, and you'll've actually used them a lot before now. See
this guide for more info on data types.
When you go to print a number, you typically want the value to be converted from the base-two value in your computer's RAM into a string first. There are lots of different ways to format the new string, and print() will tend to add the decimal on the end if you pass the number directly to it and expect it to handle the conversion on its own (even if the number could be presented as an integer). If you pre-convert with tostring(), the decimal gets chopped off where possible.