Имя: Пароль:
1C
1С v8
ЧислоПрописью без округления 1с 8.2
0 Sareth
 
02.12.13
20:09
Доброго времени суток уважаемые форумчане.
Есть такая замечательная функция ЧислоПрописью(<Число>,<ФорматнаяСтрока>,<ПараметрыПредметаИсчисления>).
Она отлично работает если разряд дробной части не превышает двух знаков.
К сожалению, как это часто бывает, в моем случае разряд дробной части больше.
Чем же я не доволен спросите Вы? А вот чем:
Функция отсекает лишние разряды и округляет до двух.
Это хорошо когда предмет исчисления к примеру денежные знаки: 100 копеек = 1 рубль, но вот если предметом является масса - начинаются проблемы, ведь 100г <> 1кг и при попытке вывести число вида "1,453" получаем "один килограмм сорок пять грамм"...
Что с этим делать? Писать свою функцию? Разбивать число на части, приводить в строку и опять склеивать? или еще какие варианты?
Хотелось бы узнать Ваше мнение.

Заранее благодарен.
1 kosts
 
02.12.13
20:14
(0) Эта функция не пишет что ли "четыреста пятьдесят три"?
2 Sareth
 
02.12.13
20:17
(1) Если целое - легко, дробь округляет
3 Ksandr
 
02.12.13
20:17
Число = Число * 1000
Стр = Формат(Число , "ЧГ=3")
МассивПодстрок = РазложитьСтрокуВМассивПодстрок(Стр, Символы.НП);

дальше цикл с конца массива и для каждого разряда ЧислоПрописью
4 DS
 
02.12.13
20:32
(0) Вариант один - внимательно читать ПараметрыПредметаИсчисления.
5 Sareth
 
02.12.13
20:36
(4) Ахах, запятую пропустил... Все вопрос снят. Всем спасибо за содействие
6 Sareth
 
02.12.13
20:40
(4) Количество разрядов на ходу получаю, вот и не заметил
Независимо от того, куда вы едете — это в гору и против ветра!