798

Builder

Problema la rotungirea variabilelor de tip float. De fapt problema consta ca numarul nu trebuie sa fie rotungit.Ex: 9.857 trebuie sa fie 9.85 si nu 9.86Am hotarit problema astfel:"AnsiString TFormFisa::rotungire(float media4){ int zecimi = 0, sutimi = 0, miimi = 0, zecimidemiimi=0; float zecimale = media4 - int(media4); // 1) se det. cifrele dupa virgula zecimi = int(zecimale*10); // 2) se ia part intreaga din 1) reprezentind zecimile sutimi = int((zecimale*10 - zecimi)*10); // 3) se det. sutimile din 1) si 2) miimi = int(zecimale*1000 - zecimi*100 - sutimi*10); // 4) se det. miimile din 1), 2) si 3) if(miimi>=9) { media4 = int(media4) + float(zecimi)/10 + float(sutimi)/100 + 0.01; } else { media4 = int(media4) + float(zecimi)/10 + float(sutimi)/100; } return media4;}"Codul e din BCB5, acum lucrez in BCB6 shi ash vrea sa perfectionez functiaPoate exista modalitate mai usoara?
0