В качестве продолжения для дорогого Роберта Харви, который утверждает, что это не произошло.
Как почти сказано в теме, я получил элемент управления для редактирования, который я предопределил с помощью "0,00", я запускаюмое приложение и введите для примера 10 в элемент управления EDIT, рядом с элементом управления EDIT я получил элемент управления BUTTON, под которым у меня есть этот код в качестве события.Код ниже возьмет массив «string» или char из элемента управления EDIT, преобразует его в число с плавающей точкой с «atof» из стандартной библиотеки C, а затем я записываю его обратно в элемент управления EDIT, но на этот раз я не получаю10.0, как и ожидалось, я просто получаю 1.
Я пробовал с «123», а затем я получаю только 12.0, поэтому вопрос в простой форме состоит в том, почему моя введенная строка «10» станет 1,00 со следующимкод и где бы я сделать это правильно.Я так понимаю, вам не нужен дополнительный код, поскольку вы, вероятно, получили рабочий скелет и вставили его в свой код или можете запустить его без необходимости прототипирования.
char fromTextField[1024];
HWND textfield = GetDlgItem(hwnd,(WM_USER+1001));
int fromTextFieldLength = GetWindowTextLength(textfield);
GetWindowText(textfield,fromTextField,fromTextFieldLength);
float ampl =atof(fromTextField);
char amplitudefromtextfield[100];
_snprintf(amplitudefromtextfield,sizeof(amplitudefromtextfield),"%f",ampl);
SetWindowText(textfield,amplitudefromtextfield);