Проблема с округлением

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
GTHack
Местный житель
Сообщения: 517
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск Новосибирск
Контактная информация:

Проблема с округлением

Сообщение GTHack »

Гал-ка 5.84
в RTF вывожу значение x.025
хотелось бы в формате 666`666`666,88 получить соответственно х.03, но
!
doubletostr(round( k1 ,2),'666`666`666,88')получаем х.02 ??

идём далее
doubletostr(round( k1 ,2),'666`666`666,888')
выводит x.029 !!!!!!!!!

кто нибудь с таким сталкивался ???
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
wildman
Новичок
Сообщения: 21
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Украина. Киев.
Контактная информация:

Re: Проблема с округлением

Сообщение wildman »

Было у меня на 5.84 так:
DoubleToStr(8.03, '666 666 666 666 667.88')
выдает '8.03'
а
DoubleToStr(8.03, '666 666 666 666 667,88')
выдает '8,02'

То есть -Проблема в разделители целой и дробной части.

Проблема в Атлантисе.

Решена в
5.85 на 3.03.18
7.11 на 3.03.19
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Проблема с округлением

Сообщение m0p3e »

string ( MyDouble, 0, 3 )
wildman
Новичок
Сообщения: 21
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Украина. Киев.
Контактная информация:

Re: Проблема с округлением

Сообщение wildman »

Не совсем согласен с МОРЗЕ, так как
функция String не способна заменить DoubleToStr, то есть формат 666`666`667,88
она сделать не сможет. :(
Саша Г.
Местный житель
Сообщения: 281
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Пермь

Re: Проблема с округлением

Сообщение Саша Г. »

Я сталкивался и именно при выгрузке в ДО
Обошел эту беду следующим образом ...
doubletostr(round( k1 ,2)+0.001,'666`666`666,88'). Вся бяка втом что после округления результат получается следующий 8.029999998 или 8.030000001.
ikav
Постоянный гость
Сообщения: 56
Зарегистрирован: 29 мар 2005, 17:49

Re: Проблема с округлением

Сообщение ikav »

А так попробуйте, вроде работает округление DoubleToStr(8.03, '666 666 666 666 667.\2p88')

Хотя я, наверное, запоздал с ответом :)
Ответить