package Ġcom . dyn . base . utils Ċ Ċ import Ġjava . lang . Exception Ċ import Ġjava . math . BigDecimal Ċ import Ġjava . math . BigInteger Ċ import Ġjava . math . Math Context Ċ import Ġjava . math . Round ingMode Ċ Ċ object ĠDig it Utils Ġ{ ĊĠĠĠ Ġprivate Ġval ĠONE _ W AN Ġ= ĠBigDecimal ( 1 0 0 0 0 ) ĊĠĠĠ Ġfun ĠInt . fen To Y uan (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . to BigDecimal (). divide ( BigDecimal ( 1 0 0 ), Ġ 2 , ĠBigDecimal . ROUND _ HALF _ UP ). toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠString . fen To Y uan (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" 0 . 0 0 " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠBigDecimal ( this ). divide ( BigDecimal ( 1 0 0 ), Ġ 2 , ĠBigDecimal . ROUND _ HALF _ UP ). toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠString ?. to MB ig Decimal (): ĠBigDecimal Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this . isNull OrEmpty ()){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBigDecimal . ZERO . set Scale ( 2 , ĠBigDecimal . ROUND _ HALF _ UP ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . to BigDecimal (). set Scale ( 2 , ĠBigDecimal . ROUND _ HALF _ UP ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBigDecimal . ZERO . set Scale ( 2 , ĠBigDecimal . ROUND _ HALF _ UP ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åŃĹç¬¦ä¸² åħĥ è½¬ åĪĨ ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġfun ĠString ?. y uan 2 Wan (): String { ĊĠĠĠĠĠĠĠ Ġval Ġb Ġ= Ġthis . to MB ig Decimal () ĊĠĠĠĠĠĠĠ Ġif Ġ( b Ġ< ĠONE _ W AN ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġb . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġremainder Ġ= Ġb . remainder ( ONE _ W AN ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( remainder <= ĠBigDecimal . ZERO ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb . divide ( ONE _ W AN ). set Scale ( 0 ). toString (). plus (" ä¸ĩ ") ĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb . divide ( ONE _ W AN ). set Scale ( 2 , BigDecimal . ROUND _ HALF _ UP ). toString (). plus (" ä¸ĩ ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ éĩĳé¢Ŀ æĺ¾ç¤º Ġ Ġ ä¿ĿçķĻ ä¸¤ ä½į å°ı æķ° æĺ¾ç¤º ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġfun ĠString ?. to Show Money (): String { ĊĠĠĠĠĠĠĠ Ġif Ġ( this . isNull OrEmpty ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" 0 . 0 0 " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . to MB ig Decimal (). toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠBigDecimal . fen To Y uan (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . divide ( BigDecimal ( 1 0 0 ), Ġ 2 , ĠBigDecimal . ROUND _ HALF _ UP ). toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ è®¡ç®Ĺ ä¸¤ä¸ª åįķä½į ä¸º åĪĨ çļĦæķ°æį® çĽ¸ åĩı åĲİ æĺ¾ç¤º çļĦ éĩĳ éĴ± æķ° ĊĠĠĠĠ Ġ* Ġ@ param Ġreduction Ġ åĩı æķ° ĊĠĠĠĠ Ġ* Ġ@ param Ġmin u end Ġ è¢« åĩı æķ° ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġfun Ġmin u end Money ( reduction : ĠString ?, Ġmin u end : ĠString ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( reduction . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" 0 . 0 0 " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġmin u end BigDecimal Ġ= Ġif Ġ( min u end . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBigDecimal . ZERO ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBigDecimal ( min u end ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġreduction BigDecimal Ġ= ĠBigDecimal ( reduction ) ĊĠĠĠĠĠĠĠ Ġreturn Ġreduction BigDecimal . subtract ( min u end BigDecimal ). set Scale ( 2 , BigDecimal . ROUND _ HALF _ UP ). toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å¤ļä¸ª éĴ± çĽ¸ ä¹ ĺ ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġfun Ġmultiply Mor Money ( var arg Ġm one ys : ĠString ?): ĠBigDecimal Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconvert BigDecimal s Ġ= Ġm one ys . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBigDecimal . ZERO ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBigDecimal ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBigDecimal . ZERO ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= ĠBigDecimal . ONE ĊĠĠĠĠĠĠĠ Ġconvert BigDecimal s . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult . multiply ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġprice Ġ åįķ ä»· åħĥ ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġfun ĠInt . count To Total Money ( price : ĠString ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( price . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠBigDecimal ( this ). multiply ( BigDecimal ( price )). set Scale ( 2 , ĠBigDecimal . ROUND _ HALF _ UP ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. toString () ĊĠĠĠ Ġ} Ċ }