Страница 1 из 1

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

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

Спасибо!

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

Добавлено: 10 дек 2010, 13:44
hope
Помогло округление до 1 грамма.

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

Добавлено: 10 дек 2010, 13:48
k_vit
Если я правильно понял, то

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

DoubleToStr(20008/1000, '\f4 тн \ 2 кг ')

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

Добавлено: 10 дек 2010, 14:06
hope
в принципе - да. Но еще ведь есть граммы.
1968,4 - должно быть 1тн 968 кг 400 гр