0
У меня есть переменная CString, который нужно преобразовать в двойнойC++ atof/_wtof, ошибки округления
CString sVal(_T(" 4.2"));
double dbl2 = _wtof(sVal);
И я получил dbl2 = 4.0000 вместо 4.2. Что может быть причиной округления?
Вы можете показать полную основную программу, включающую этот образец, пожалуйста (и проверить это показывает проблему первым). В идеале вы должны преобразовать его в стандартную 'std :: wstring', но если нет, я бы изменил теги на то, чтобы указать что-то конкретное MS. –
Вы находитесь в континентальной Европе? (Другими словами, ваша машина настроена с десятичным разделителем ','?). Это может быть специфическое для локали преобразование. –
Россия, setlocale (LC_ALL, ".1251"); Вы правы, заменив «.» к «,» устранена проблема –