Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java tools & IDE's > IReport.


Автор: izver84 24.2.2009, 15:19
Есть отчет в ireport. информация берётся из бд.
В этом отчете есть поле. которое должна отражать следующее:
в бд поле сумма = 200.01 а в отчете данное поле = двести рублей 1 копейка
в бд поле сумма = 200.05 а в отчете данное поле = двести рублей 5 копеек

как это реальзовать не знаю? помогите пожалуйста

Автор: Kangaroo 24.2.2009, 16:55
izver84, недавно выкладывали решение http://forum.vingrad.ru/forum/topic-248391/hl/%25D1%2580%25D1%2583%25D0%25B1%25D0%25BB%25D1%258C/index.html

Добавлено через 52 секунды
И еще http://forum.vingrad.ru/forum/topic-93247/hl/%25D1%2580%25D1%2583%25D0%25B1%25D0%25BB%25D1%258C/index.html.

Автор: izver84 24.2.2009, 18:08
спасибо но  не то видел прогу под C#  отчет делался в crystal reports. Там есть объект с формулой
Код


WhileReadingRecords; 
//1 000 000
(if Length(ToText({JRBP.SUMO}))>=12
then
ToText(Switch (Int({JRBP.SUMO}/1000000)=1,"un milion",
                Int({JRBP.SUMO}/1000000)=2,"două milioane",
                Int({JRBP.SUMO}/1000000)=3,"trei milioane",
                Int({JRBP.SUMO}/1000000)=4,"patru milioane",
                Int({JRBP.SUMO}/1000000)=5,"cinci milioane",
                Int({JRBP.SUMO}/1000000)=6,"şase milioane",
                Int({JRBP.SUMO}/1000000)=7,"şapte milioane",
                Int({JRBP.SUMO}/1000000)=8,"opt milioane",
                Int({JRBP.SUMO}/1000000)=9,"nouă milioane"))+"  "
)

//100 000

+(if Length(ToText({JRBP.SUMO}))>=10
then
ToText(Switch ( Left(Right(ToText({JRBP.SUMO}),10),1)='1',"o sută",
                Left(Right(ToText({JRBP.SUMO}),10),1)='2',"două sute",
                Left(Right(ToText({JRBP.SUMO}),10),1)='3',"trei sute",
                Left(Right(ToText({JRBP.SUMO}),10),1)='4',"patru sute",
                Left(Right(ToText({JRBP.SUMO}),10),1)='5',"cinci sute",
                Left(Right(ToText({JRBP.SUMO}),10),1)='6',"şase sute",
                Left(Right(ToText({JRBP.SUMO}),10),1)='7',"şapte sute",
                Left(Right(ToText({JRBP.SUMO}),10),1)='8',"opt sute",
                Left(Right(ToText({JRBP.SUMO}),10),1)='9',"nouă sute"))+" "
)
//10 000
+(if Length(ToText({JRBP.SUMO}))>=9
then
ToText(Switch (Left(Right(ToText({JRBP.SUMO}),9),1)='1',Switch(
                                                Left(Right(ToText({JRBP.SUMO}),8),1)='0',"zece",
                                                Left(Right(ToText({JRBP.SUMO}),8),1)='1',"unsprezece",
                                                Left(Right(ToText({JRBP.SUMO}),8),1)='2',"doisprezece",
                                                Left(Right(ToText({JRBP.SUMO}),8),1)='3',"treisprezece",
                                                Left(Right(ToText({JRBP.SUMO}),8),1)='4',"paisprezece",
                                                Left(Right(ToText({JRBP.SUMO}),8),1)='5',"cincisprezece",
                                                Left(Right(ToText({JRBP.SUMO}),8),1)='6',"şaisprezece",
                                                Left(Right(ToText({JRBP.SUMO}),8),1)='7',"şaptesprezece",
                                                Left(Right(ToText({JRBP.SUMO}),8),1)='8',"optsprezece",
                                                Left(Right(ToText({JRBP.SUMO}),8),1)='9',"nousprezece"),
                Left(Right(ToText({JRBP.SUMO}),9),1)='2',"douăzeci",
                Left(Right(ToText({JRBP.SUMO}),9),1)='3',"treizeci",
                Left(Right(ToText({JRBP.SUMO}),9),1)='4',"patruzeci",
                Left(Right(ToText({JRBP.SUMO}),9),1)='5',"cincizeci",
                Left(Right(ToText({JRBP.SUMO}),9),1)='6',"şaizeci",
                Left(Right(ToText({JRBP.SUMO}),9),1)='7',"şaptezeci",
                Left(Right(ToText({JRBP.SUMO}),9),1)='8',"optzeci",
                Left(Right(ToText({JRBP.SUMO}),9),1)='9',"nouăzeci"))
)
+(if Length(ToText({JRBP.SUMO}))>=8
then

(if (Left(Right(ToText({JRBP.SUMO}),9),1)<>'1' or Length(ToText({JRBP.SUMO}))=8) then
    (if Length(ToText({JRBP.SUMO}))>8 then " şi ")
    +ToText(Switch (Left(Right(ToText({JRBP.SUMO}),8),1)='1' and Length(ToText({JRBP.SUMO}))=8,"o mie",
                    Left(Right(ToText({JRBP.SUMO}),8),1)='1' ,"unu mii",
                    Left(Right(ToText({JRBP.SUMO}),8),1)='2',"două mii",
                    Left(Right(ToText({JRBP.SUMO}),8),1)='3',"trei mii",
                    Left(Right(ToText({JRBP.SUMO}),8),1)='4',"patru mii",
                    Left(Right(ToText({JRBP.SUMO}),8),1)='5',"cinci mii",
                    Left(Right(ToText({JRBP.SUMO}),8),1)='6',"şase mii",
                    Left(Right(ToText({JRBP.SUMO}),8),1)='7',"şapte mii",
                    Left(Right(ToText({JRBP.SUMO}),8),1)='8',"opt mii",
                    Left(Right(ToText({JRBP.SUMO}),8),1)='9',"nouă mii"))
else " ")
)




//100

+"   "
+(if Length(ToText({JRBP.SUMO}))>=6
then
ToText(Switch ( Left(Right(ToText({JRBP.SUMO}),6),1)='1',"o sută",
                Left(Right(ToText({JRBP.SUMO}),6),1)='2',"două sute",
                Left(Right(ToText({JRBP.SUMO}),6),1)='3',"trei sute",
                Left(Right(ToText({JRBP.SUMO}),6),1)='4',"patru sute",
                Left(Right(ToText({JRBP.SUMO}),6),1)='5',"cinci sute",
                Left(Right(ToText({JRBP.SUMO}),6),1)='6',"şase sute",
                Left(Right(ToText({JRBP.SUMO}),6),1)='7',"şapte sute",
                Left(Right(ToText({JRBP.SUMO}),6),1)='8',"opt sute",
                Left(Right(ToText({JRBP.SUMO}),6),1)='9',"nouă sute"))+" "
)
//10
+(if Length(ToText({JRBP.SUMO}))>=5
then
ToText(Switch (Left(Right(ToText({JRBP.SUMO}),5),1)='1',
                                                Switch(
                                                Left(Right(ToText({JRBP.SUMO}),4),1)='0',"zece",   
                                                Left(Right(ToText({JRBP.SUMO}),4),1)='1',"unsprezece",
                                                Left(Right(ToText({JRBP.SUMO}),4),1)='2',"doisprezece",
                                                Left(Right(ToText({JRBP.SUMO}),4),1)='3',"treisprezece",
                                                Left(Right(ToText({JRBP.SUMO}),4),1)='4',"paisprezece",
                                                Left(Right(ToText({JRBP.SUMO}),4),1)='5',"cincisprezece",
                                                Left(Right(ToText({JRBP.SUMO}),4),1)='6',"şaisprezece",
                                                Left(Right(ToText({JRBP.SUMO}),4),1)='7',"şaptesprezece",
                                                Left(Right(ToText({JRBP.SUMO}),4),1)='8',"optsprezece",
                                                Left(Right(ToText({JRBP.SUMO}),4),1)='9',"nousprezece"),
                Left(Right(ToText({JRBP.SUMO}),5),1)='2',"douăzeci",
                Left(Right(ToText({JRBP.SUMO}),5),1)='3',"treizeci",
                Left(Right(ToText({JRBP.SUMO}),5),1)='4',"patruzeci",
                Left(Right(ToText({JRBP.SUMO}),5),1)='5',"cincizeci",
                Left(Right(ToText({JRBP.SUMO}),5),1)='6',"şaizeci",
                Left(Right(ToText({JRBP.SUMO}),5),1)='7',"şaptezeci",
                Left(Right(ToText({JRBP.SUMO}),5),1)='8',"optzeci",
                Left(Right(ToText({JRBP.SUMO}),5),1)='9',"nouăzeci"))
)
+(if Length(ToText({JRBP.SUMO}))>=4
then
(if (Left(Right(ToText({JRBP.SUMO}),5),1)<>'1' or  Length(ToText({JRBP.SUMO}))=4)
 then
    " şi "+
    ToText(Switch ( Left(Right(ToText({JRBP.SUMO}),4),1)='1',"unu",
                    Left(Right(ToText({JRBP.SUMO}),4),1)='2',"două",
                    Left(Right(ToText({JRBP.SUMO}),4),1)='3',"trei",
                    Left(Right(ToText({JRBP.SUMO}),4),1)='4',"patru",
                    Left(Right(ToText({JRBP.SUMO}),4),1)='5',"cinci",
                    Left(Right(ToText({JRBP.SUMO}),4),1)='6',"şase",
                    Left(Right(ToText({JRBP.SUMO}),4),1)='7',"şapte",
                    Left(Right(ToText({JRBP.SUMO}),4),1)='8',"opt",
                    Left(Right(ToText({JRBP.SUMO}),4),1)='9',"nouă"))
else " " )
)
 +" lei   "+
Right (ToText({JRBP.SUMO}),2)+
" bani"
 


вот примерно такое нужно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)