Количество прописью

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

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

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

Количество прописью

Сообщение hope »

Добрый день!

нужно корректно вывести количество прописью, типа: 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. если из документа удалить какую-нибудь позицию (с любым количеством) - будет уже правильно писать прописью.

Спасибо!
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: Количество прописью

Сообщение hope »

Помогло округление до 1 грамма.
k_vit
Постоянный обитатель
Сообщения: 143
Зарегистрирован: 09 авг 2006, 16:40
Откуда: Россия, Тюмень, ОАО "Сибирский Научно-Аналитический Центр"

Re: Количество прописью

Сообщение k_vit »

Если я правильно понял, то

Код: Выделить всё

DoubleToStr(20008/1000, '\f4 тн \ 2 кг ')
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: Количество прописью

Сообщение hope »

в принципе - да. Но еще ведь есть граммы.
1968,4 - должно быть 1тн 968 кг 400 гр
Ответить