Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > RoundTo вызывает ошибку


Автор: ZufuS 19.12.2006, 16:39
Код

StringGrid1.Cells[2,i+1] := FloatToStr(RoundTo(Vy[i],-2));

В этом месте иногда появляется ошибка. Когда ввожу числа до 2х-3х десятков(по-разному бывает) - всё нормально. А если ввести например 40 или более появится ошибка и засветится эта строка. Ошибка Project Project1.exe raised exception class EInvalidOp with message 'Invalid floating point operation'.   Устроит и другая функция.
P.S. можно ли одним методом или свойством выровнять текст ячеек TStingGrid'a по центру?

Автор: Snowy 19.12.2006, 16:42
Потому что ты превышаешь размер, допустимый для типа float.
Не влезает в него такое значение smile

Автор: dimazu 19.12.2006, 17:05
Проверять надо размер - это точно, а вообще лучше, по-моему, использовать FloatToStrDef.

ЗЫ. А зачем RoundTo, ведь можно просто написать 
Код

 StringGrid1.Cells[2,i+1] := FormatFloat('0.00', Vy[i])

Автор: ZufuS 19.12.2006, 17:25
dimazu, благодарю

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)