package Ġcom . al bu quer que . crypto e _ wallet . app . extensions Ċ Ċ import Ġjava . math . BigDecimal Ċ import Ġjava . text . Decimal Format Ċ import Ġjava . text . NumberFormat Ċ import Ġjava . util .* Ċ Ċ fun ĠBigDecimal ?. to Br azil ian Currency (): ĠString { ĊĠĠĠ Ġthis ?. let Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ" R $ Ġ". plus ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( NumberFormat . getNumber Instance ( Locale (" pt ", Ġ" BR ")) Ġas ĠDecimal Format ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapply Pattern ("# , ### , ## 0 . 0 0 0 0 0 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. format ( this )) ĊĊĠĠĠ Ġ} Ġ?: Ġkotlin . run Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ"" ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ fun ĠBigDecimal ?. to Br azil ian Currency ( zeros : ĠInt Ġ= Ġ 4 ): ĠString { ĊĠĠĠ Ġthis ?. let Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ" R $ Ġ". plus ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( NumberFormat . getNumber Instance ( Locale (" pt ", Ġ" BR ")) Ġas ĠDecimal Format ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapply Pattern ("# , ### , ## 0 .${ " 0 ". repeat ( zeros )} ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. format ( this )) ĊĊĠĠĠ Ġ} Ġ?: Ġkotlin . run Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ"" ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ fun ĠString . to BigDecimal (): ĠBigDecimal Ġ{ ĊĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . isEmpty () Ġ-> ĠBigDecimal ( 0 ) ĊĠĠĠĠĠĠĠ Ġthis . contains (" R $ Ġ") Ġ-> ĠBigDecimal ( this . replace (" R $ Ġ", Ġ""). replace (".", Ġ"# "). replace (",", Ġ". "). replace ("# ", Ġ"")) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> ĠBigDecimal ( this ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠBigDecimal ?. plus ( value : ĠString ?): ĠString Ġ{ ĊĊĠĠĠ Ġreturn Ġif ( this Ġ!= Ġnull Ġ&& Ġ! value . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . plus ( BigDecimal ( value )). to Br azil ian Currency () ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠBigDecimal ?. minus ( value : ĠString ?): ĠString Ġ{ ĊĊĠĠĠ Ġreturn Ġif ( this Ġ!= Ġnull Ġ&& Ġ! value . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . minus ( BigDecimal ( value )). to Br azil ian Currency () ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠBigDecimal ?. times ( value : ĠString ?): ĠString Ġ{ ĊĊĠĠĠ Ġreturn Ġif ( this Ġ!= Ġnull Ġ&& Ġ! value . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . times ( BigDecimal ( value )). to Br azil ian Currency () ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠ Ġ} Ċ }