Unfortunately map is integer only. It still could be possible to use. The new map function would have to be something like this:
voltage = map(analogRead(Vin), 0, 1023, 0, 1400)
That would be: Map the analog value to a voltage 0 to 14 and shifted two places over. This is a fixed point calculation. At the end you shift the decimal back to places and you get the value to a hundredth of a voltage. Of course, you can't actually get a real hundredth of a volt precision. It would be possible to change it to tenth of a volt precision too:
voltage = map(analogRead(Vin), 0, 1023, 0, 140)
Also: There is no guarentee that 1023 would correspond to 14V. It still has to be calibrated as I've said before. One still has to input a known voltage and find the proper calibration from there.