Добрый день!
нужно корректно вывести количество прописью, типа: 20'008,0 кг (двадцать тн восемь кг )
Почему-то 8 кг переводит в 7,999 кг и соответственно пишет так: 20'008,0 кг (двадцать тн семь кг )
код такой:
.fields
DoubleToStr(all_ves, '666’’666’’667,8')
IF(all_ves/1000.00>=1.00, DoubleToStr(all_ves/1000.00, '\f4 тн '), ’’)
IF( ( (all_ves/1000.00 -Trunc(all_ves/1000.00))*1000.00)>=1.00,
DoubleToStr( ((all_ves/1000.00 -Trunc(all_ves/1000.00))*1000.00), '\m4 кг'), ’’)
IF((all_ves -Trunc(all_ves))*1000.00>=1.00, DoubleToStr( (all_ves -Trunc(all_ves))*1000.00, '888 гр'), ‘’)
.endfields
Итого объем партии: ^ кг (^^^).
Что неправильно?
Какие еще есть варианты? Количество в документе реально целое число 20008. если из документа удалить какую-нибудь позицию (с любым количеством) - будет уже правильно писать прописью.
Спасибо!
Количество прописью
Модераторы: m0p3e, edward_K, Модераторы
Re: Количество прописью
Помогло округление до 1 грамма.
-
- Постоянный обитатель
- Сообщения: 143
- Зарегистрирован: 09 авг 2006, 16:40
- Откуда: Россия, Тюмень, ОАО "Сибирский Научно-Аналитический Центр"
Re: Количество прописью
Если я правильно понял, то
Код: Выделить всё
DoubleToStr(20008/1000, '\f4 тн \ 2 кг ')
Re: Количество прописью
в принципе - да. Но еще ведь есть граммы.
1968,4 - должно быть 1тн 968 кг 400 гр
1968,4 - должно быть 1тн 968 кг 400 гр