After some hunting around I have found the following:
Dim bArray As Byte()
Dim val As Single = 0.111
Dim sChars as String
Dim arrChars as String()
Dim sFinal as string
bArray = BitConverter.GetBytes(val)
sChars = BitConverter.ToString(bArray)
arrChars = Split(sChars, "-")
For Each sChar as string in arrChars
sFinal & = ChrW(Convert.ToInt32(sChar, 16))
Next
This does the same kind of conversion as the Put# method and the BinaryWriter.Write method does, without the need to write to a file.