How to format the display of a node?
Yes, that is how I envisage the end result, but I am looking for a
  solution to allow the node author to drop the picture into an input
  field and let Drupal deal with the float.


All you have to do is create a template file for your content type. Then add a class or an id for your image field. (copy the node.tpl.php file and paste, rename the copy to node--[your content type name].tpl.php such as node--articles.tpl.php) Then add this line, you will also need to print all the other fields you want to see. 

Example &lt;div id="floated"&gt;&lt;?php print render($content['field_image_example']); ?&gt;&lt;/div&gt;

So when someone view's the page, your image will automatically be wrapped inside floated. 

(above answer assumes you're using Drupal 7)

Template file

&lt;div id="example"&gt;
  &lt;div id="floated"&gt;&lt;?php print render($content['field_image_example']); ?&gt;&lt;/div&gt;
  &lt;?php print render($content['body']); ?&gt;
&lt;/div&gt;


CSS

#example{
    width: 400px;
    background: yellow;
}
#floated img{
    float: left;
    width: 150px;
    background: red;
}




If you want an easier solution, less advanced knowledge needed, then use Panels which will let you add a class to your image.


  The Panels module allows a site administrator to create customized
  layouts for multiple uses. At its core it is a drag and drop content
  manager that lets you visually design a layout and place content
  within that layout. Integration with other systems allows you to
  create nodes that use this, landing pages that use this, and even
  override system pages such as taxonomy and the node page so that you
  can customize the layout of your site with very fine grained
  permissions.


Panels Tutorials