Округление
Как округлить цифру с точностью до неск. знаков после запятой,
пишу: [Round([QOwnSserv."B"])] - округляет все
[Round([QOwnSserv."B"]),2] - не округляет
Заранее спасибо, Павел
пишу: [Round([QOwnSserv."B"])] - округляет все
[Round([QOwnSserv."B"]),2] - не округляет
Заранее спасибо, Павел
Комментарии
если нужно округлить с точностью до 2 знака после запятой, то
Round("твое число" * 100)/100
Некоторые дополнения: цифры с плавающей запятой вообще штука интересная.
Некоторые весчи (например 1.005) лежат вот в несколько изменённом виде (например 1.00499999999999).
Ну и ессно после ROUND мы получим немного не то что хотели (получим 1.00 вместо 1.01)
Для борьбы с этим "злом" рекомендую делать следующее:
1. Поправить сразу FR_Pars:
2. Прибавлять 1e-10 в самом FRF. Но этот вариант должен также учитывать ещё и отрицательные значения, что честно говоря выглядит ещё хуже:
Насчет правки - это ты конечно же прав.
Такое подойдет только если округлять нужно с точностью до 2 знаков, а если кто захочет с другой точностью, до 1 знака, до 7 знаков, как тогда быть, не править же каждому функцию под себя, идеальным думаю было бы написание новой функции что нить типа Round(Value, Dig), где Value - округляемо число, Dig - точность.
Что думаешь?