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