Например есть число 1234567890, как вывести его на экран в виде строки 1 234 567 890, знаю что в Api такая ф-я есть только название забыл...
10_Brasil Нет такой функции в API. Есть функции, форматирующие числа в денежных единицах в зависимости от локализации, но это не совсем в тему.
можно сделать примерно так: Код (Text): .data? buffer 256 dup(?) outBuf 256 dup(?) .data fmt db "%lu",0 .code invoke wsprintf, addr buffer, addr fmt, 1234567890 invoke lstrlen, addr buffer xor edx,edx mov ecx,3 div ecx lea ebx,buffer lea ecx,outBuf test edx,edx jnz _loop _preset: mov edx,3 _loop: mov al,[ebx] mov [ecx],al test al,al jz _end inc ebx inc ecx dec edx jnz _loop mov byte ptr[ecx],32 inc ecx jmp _preset _end: invoke MessageBox, NULL, addr outBuf, NULL, MB_OK
10_Brasil название забыл Может быть GetNumberFormat? Код (Text): #define WIN32_LEAN_AND_MEAN #include <windows.h> #include <stdio.h> int main(void) { char in[] = "987654321.12"; char out[256] = {0}; printf("%s\n", in); GetNumberFormat((LCID) NULL, 0, in, NULL, out, sizeof(out)); printf("%s\n", out); return 0; } выхлоп (разумеется в ansi) Код (Text): 987654321.12 987 654 321,12
q_q Да, спасибо, именно эту функцию я встречал ранее... EvilsInterrupt Без обид, но зачем посты набирать? Если есть что толковое подсказать - говори, а советы давать все могут.