Округлить дробное число до двух разрядов
gpo6Hoe_4ucJIo = 3.1415926535 puts ( gpo6Hoe_4ucJIo * 100 ).to_i.to_f / 100 puts sprintf( "%.2f", gpo6Hoe_4ucJIo ).to_f # предпочтительнее, так как действительно округляет
2824 users tagging and storing useful source code snippets
Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world (or not, you can keep them private!)
gpo6Hoe_4ucJIo = 3.1415926535 puts ( gpo6Hoe_4ucJIo * 100 ).to_i.to_f / 100 puts sprintf( "%.2f", gpo6Hoe_4ucJIo ).to_f # предпочтительнее, так как действительно округляет
void succ(int* ip, char* cp, char* ch) { int il = strlen(ch); char *np; if(*(cp + *ip) == '\0') { *(cp + *ip) = *ch; return; } np = strchr(ch, *(cp + *ip)); if(np == NULL) { (*ip)++; *(cp + *ip) = *ch; } else if(np == ch + il - 1) { *(cp + *ip) = *ch; } else { *(cp + *ip) = *(np + 1); } } int textual_input(int line, char *destination, int maxlen) { int nKey, i = 0; char text[128]; memset(text, 0, sizeof(text)); while(1) { nKey = Sys_Key_WaitKey(); switch (nKey) { case KEY_DEL: text[i] = '\0'; i > 0 ? i-- : i = 0; break; case KEY_0: i++; text[i] = ' '; break; case KEY_1: i++; break; case KEY_2: succ(&i, text, "ABC"); break; case KEY_3: succ(&i, text, "DEF"); break; case KEY_4: succ(&i, text, "GHI"); break; case KEY_5: succ(&i, text, "JKL"); break; case KEY_6: succ(&i, text, "MNO"); break; case KEY_7: succ(&i, text, "PQRS"); break; case KEY_8: succ(&i, text, "TUV"); break; case KEY_9: succ(&i, text, "WXYZ"); break; case KEY_ENTER: goto done; break; case KEY_CANCEL: goto cancel; break; } Syd_ClearWindow(line,line); Syd_DisplayLine(line, text, 0, ALIGN_LEFT ); } done: strncpy(destination, text, maxlen); return 0; cancel: memset(destination, 0, maxlen); return -1; }