Попробуйте передать объект культуры (т. Е. InvariantCulture, если это данные, сохраненные системой, и формат никогда не будет другим) перегрузке, которая принимает один; ваша текущая культура может быть настроена на что-то, что ожидает точку в качестве разделителя вместо точки (или аналогичной).
Вы также можете попробовать
string x = (0.791794f).ToString()
просто чтобы посмотреть, что он печатает.
Проверка CultureInfo.CurrentCulture также может быть поучительной.
(Кроме того, проверка работоспособности - я предполагаю, что эти цитаты от вас, а не от самих строковых значений?)