package Ġcom . outs . utils . kotlin Ċ Ċ import Ġjava . math . Round ingMode Ċ import Ġjava . text . Decimal Format Ċ import Ġjava . text . NumberFormat Ċ import Ġkotlin . math . max Ċ import Ġkotlin . math . min Ċ Ċ /** Ċ Ġ* Ġauthor : ĠOut s 3 Ċ Ġ* Ġe - mail : Ġ 3 . 3 nose k ai @ gmail . com Ċ Ġ* Ġdate : Ġ 2 0 2 1 / 4 / 1 Ġ 1 2 : 0 0 Ċ Ġ* Ġdesc : Ċ Ġ*/ Ċ @ Deprecated ( ĊĠĠĠ Ġ" replace Ġwith Ġkotlin . text . toInt OrNull ", ĊĠĠĠ Ġreplace With Ġ= ĠReplace With (" toInt OrNull ()", Ġimports Ġ= Ġ[" kotlin . text . toInt OrNull "]) Ċ ) Ċ fun ĠString . safe Int ( def : ĠInt Ġ= Ġ 0 ): ĠInt Ġ= Ġtry Ġ{ ĊĠĠĠ Ġto Int () Ċ } Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠ Ġdef Ċ } Ċ Ċ @ Deprecated ( ĊĠĠĠ Ġ" replace Ġwith Ġkotlin . text . to Long OrNull ", ĊĠĠĠ Ġreplace With Ġ= ĠReplace With (" to Long OrNull ()", Ġimports Ġ= Ġ[" kotlin . text . to Long OrNull "]) Ċ ) Ċ fun ĠString . safe Long ( def : ĠLong Ġ= Ġ 0 L ): ĠLong Ġ= Ġtry Ġ{ ĊĠĠĠ Ġto Long () Ċ } Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠ Ġdef Ċ } Ċ Ċ @ Deprecated ( ĊĠĠĠ Ġ" replace Ġwith Ġkotlin . text . toFloat OrNull ", ĊĠĠĠ Ġreplace With Ġ= ĠReplace With (" toFloat OrNull ()", Ġimports Ġ= Ġ[" kotlin . text . toFloat OrNull "]) Ċ ) Ċ fun ĠString . safe Float ( def : ĠFloat Ġ= Ġ 0 f ): ĠFloat Ġ= Ġtry Ġ{ ĊĠĠĠ Ġto Float () Ċ } Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠ Ġdef Ċ } Ċ Ċ @ Deprecated ( ĊĠĠĠ Ġ" replace Ġwith Ġkotlin . text . toDouble OrNull ", ĊĠĠĠ Ġreplace With Ġ= ĠReplace With (" toDouble OrNull ()", Ġimports Ġ= Ġ[" kotlin . text . toDouble OrNull "]) Ċ ) Ċ fun ĠString . safe Double ( def : ĠDouble Ġ= Ġ 0 . 0 ): ĠDouble Ġ= Ġtry Ġ{ ĊĠĠĠ Ġto Double () Ċ } Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠ Ġdef Ċ } Ċ Ċ val Ġdecimal Format : ĠDecimal Format Ġby Ġlazy Ġ{ ĊĠĠĠ ĠNumber Format . getInstance () ĊĠĠĠĠĠĠĠ Ġ. type Of < Decimal Format >() ĊĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Grouping Used Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrounding Mode Ġ= ĠRound ingMode . DOWN ĊĠĠĠĠĠĠĠĠĠĠĠ Ġminimum Integer Digits Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġminimum Fraction Digits Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmaximum Fraction Digits Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ val ĠFILE _ LENGTH Ġ= ĠarrayOf (" B ", Ġ" KB ", Ġ" MB ", Ġ" GB ", Ġ" TB ") Ċ Ċ fun ĠDouble . format One (): ĠString Ġ= ĠDecimal Format ("# .# "). format ( this ) Ċ Ċ /** Ċ Ġ* Ġ ä¿ĿçķĻ å°ı æķ° çĤ¹ åĲİ ä¸¤ ä½į Ċ Ġ*/ Ċ fun ĠDouble . format (): ĠString Ġ= Ġlet ( decimal Format :: format ) Ċ Ċ fun ĠFloat . format (): ĠString Ġ= Ġto Double (). format () Ċ Ċ fun ĠFloat . format ( new Scale : ĠInt ): ĠString Ġ= ĊĠĠĠ Ġthis . to BigDecimal (). set Scale ( new Scale , ĠRound ingMode . UN NE C ESS ARY ). toString () Ċ Ċ fun ĠLong . div With Rem ( other : ĠLong ): ĠLong Ġ{ ĊĠĠĠ Ġval Ġrem Ġ= Ġif Ġ( 0 L Ġ== Ġrem ( other )) Ġ 0 Ġelse Ġ 1 ĊĠĠĠ Ġreturn Ġdiv ( other ) Ġ+ Ġrem Ċ } Ċ Ċ fun ĠInt . div With Rem ( other : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġval Ġrem Ġ= Ġif Ġ( 0 Ġ== Ġrem ( other )) Ġ 0 Ġelse Ġ 1 ĊĠĠĠ Ġreturn Ġdiv ( other ) Ġ+ Ġrem Ċ } Ċ Ċ fun ĠInt . format File Length (): ĠString Ġ{ ĊĠĠĠ Ġvar Ġlength Ġ= Ġto Float () ĊĠĠĠ Ġvar Ġunit : ĠString Ġ= ĠFILE _ LENGTH [ 0 ] ĊĠĠĠ Ġvar Ġi Ġ= Ġ 1 ĊĠĠĠ Ġwhile Ġ( i Ġ< ĠFILE _ LENGTH . size Ġ&& Ġlength Ġ>= Ġ 1 0 2 4 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlength Ġ/= Ġ 1 0 2 4 f ĊĠĠĠĠĠĠĠ Ġunit Ġ= ĠFILE _ LENGTH [ i ] ĊĠĠĠĠĠĠĠ Ġi ++ ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn ĠString . format ("% . 2 f % s ", Ġlength , Ġunit ) Ċ } Ċ Ċ fun ĠInt . range Of ( range : ĠInt Range ): ĠInt Ġ= Ġmin ( max ( range . first , Ġthis ), Ġrange . last ) Ċ Ċ fun ĠInt . chs Num (): ĠString Ġ= Ġwhen Ġ{ ĊĠĠĠ Ġthis Ġ> Ġ 1 0 0 0 0 Ġ-> Ġthis . toDouble (). div ( 1 0 0 0 0 ). format One (). let Ġ{ Ġ"${ it } ä¸ĩ " Ġ} ĊĠĠĠ Ġelse Ġ-> Ġthis . toString () Ċ } Ċ