📜 ⬆️ ⬇️

Sum in Java

Hello.

I'll be brief.
It was necessary "on work" to display the amount in words. Java project. Having looked at what is ready, as always, I came to the conclusion that “my own shirt is closer to the body”. Besides, I wanted to write it myself, to gain experience, since I switched to Java not so long ago ...

Older Yavisty have long found or solved a similar task themselves, and for beginners, it may be useful:
')

Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  1. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  2. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  3. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  4. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  5. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  6. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  7. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  8. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  9. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  10. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  11. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  12. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  13. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  14. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  15. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  16. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  17. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  18. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  19. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  20. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  21. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  22. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  23. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  24. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  25. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  26. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  27. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  28. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  29. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  30. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  31. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  32. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  33. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  34. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  35. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  36. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  37. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  38. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  39. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  40. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  41. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  42. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  43. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  44. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  45. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  46. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  47. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  48. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  49. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  50. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  51. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  52. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  53. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  54. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  55. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  56. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  57. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  58. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  59. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  60. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  61. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  62. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  63. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  64. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  65. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  66. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  67. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  68. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  69. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  70. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  71. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  72. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  73. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  74. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  75. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  76. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  77. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  78. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  79. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  80. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  81. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  82. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  83. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  84. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  85. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  86. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  87. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  88. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  89. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  90. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  91. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  92. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  93. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  94. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  95. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  96. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  97. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  98. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  99. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  100. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  101. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  102. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  103. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  104. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  105. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  106. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  107. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  108. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  109. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  110. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  111. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  112. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  113. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  114. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  115. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  116. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  117. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  118. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  119. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  120. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  121. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  122. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  123. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  124. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  125. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  126. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  127. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  128. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  129. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  130. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  131. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  132. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  133. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  134. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }
  135. Copy Source | Copy HTML import java.util. ArrayList ; import java.util.Collections; import java.math. BigDecimal ; /** <br/> * <br/> * @author runcore <br/> */ public class fwMoney { /** <br/> * <br/> */ private BigDecimal amount; /** <br/> * Long <br/> */ public fwMoney ( long l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * Double <br/> */ public fwMoney ( double l) { String s = String .valueOf(l); if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * String <br/> */ public fwMoney ( String s) { if (!s.contains( "." ) ) s += ".0" ; this .amount = new BigDecimal ( s ); } /** <br/> * <br/> */ public String asString() { return amount.toString(); } /** <br/> * , <br/> */ public String num2str() { return num2str( false ); } /** <br/> * <br/> * @param stripkop boolean - <br/> * @return String <br/> */ public String num2str( boolean stripkop) { String [][] sex = { { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }, }; String [] str100= { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str11 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [] str10 = { "" , "" , "" , "" , "" , "" , "" , "" , "" , "" }; String [][] forms = { { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "1" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, { "" , "" , "" , "0" }, // .. }; // long rub = amount.longValue(); String [] moi = amount.toString().split( "\\." ); long kop = Long.valueOf(moi[ 1 ]); if (!moi[ 1 ].substring( 0 , 1 ).equals( "0" ) ){ // if (kop< 10 ) kop *= 10 ; } String kops = String .valueOf(kop); if (kops.length()== 1 ) kops = "0" +kops; long rub_tmp = rub; // 3 ArrayList segments = new ArrayList (); while (rub_tmp> 999 ) { long seg = rub_tmp/ 1000 ; segments.add( rub_tmp-(seg* 1000 ) ); rub_tmp=seg; } segments.add( rub_tmp ); Collections.reverse(segments); // String o = "" ; if (rub== 0 ) { // o = " " +morph( 0 , forms[ 1 ][ 0 ],forms[ 1 ][ 1 ],forms[ 1 ][ 2 ]); if (stripkop) return o; else return o + " " +kop+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); } // int lev = segments.size(); for ( int i= 0 ; i<segments.size(); i++ ) { // int sexi = ( int )Integer.valueOf( forms[lev][ 3 ].toString() ); // int ri = ( int )Integer.valueOf( segments. get (i).toString() ); // if (ri== 0 && lev> 1 ) { // ==0 ( Units) lev--; continue ; } String rs = String .valueOf(ri); // // if (rs.length()== 1 ) rs = "00" +rs; // ? if (rs.length()== 2 ) rs = "0" +rs; // ? // int r1 = ( int )Integer.valueOf( rs.substring( 0 , 1 ) ); // int r2 = ( int )Integer.valueOf( rs.substring( 1 , 2 ) ); // int r3 = ( int )Integer.valueOf( rs.substring( 2 , 3 ) ); // int r22= ( int )Integer.valueOf( rs.substring( 1 , 3 ) ); // // -- if (ri> 99 ) o += str100[r1]+ " " ; // if (r22> 20 ) { // >20 o += str10[r2]+ " " ; o += sex[ sexi ][r3]+ " " ; } else { // <=20 if (r22> 9 ) o += str11[r22- 9 ]+ " " ; // 10-20 else o += sex[ sexi ][r3]+ " " ; // 0-9 } // (...) o += morph(ri, forms[lev][ 0 ],forms[lev][ 1 ],forms[lev][ 2 ])+ " " ; lev--; } // if (stripkop) { o = o.replaceAll( " {2,}" , " " ); } else { o = o+ "" +kops+ " " +morph(kop,forms[ 0 ][ 0 ],forms[ 0 ][ 1 ],forms[ 0 ][ 2 ]); o = o.replaceAll( " {2,}" , " " ); } return o; } /** <br/> * <br/> * @param n Long <br/> * @param f1 String <br/> * @param f2 String <br/> * @param f5 String <br/> * @return String <br/> */ public static String morph( long n, String f1, String f2, String f5) { n = Math .abs(n) % 100 ; long n1 = n % 10 ; if (n > 10 && n < 20 ) return f5; if (n1 > 1 && n1 < 5 ) return f2; if (n1 == 1 ) return f1; return f5; } }


// Use
// fwMoney mo = new fwMoney ("7654321.98");
// String money_as_string = mo.num2str ();
// seven million six hundred fifty four thousand three hundred twenty one ruble 98 kopecks

PS In general, I do not pretend to anything, I just share what happened.
Ps1. As always, I welcome constructive criticism)
PS2. Fixed bugs + small refactoring. Thank you all for your criticism.

Source: https://habr.com/ru/post/76171/


All Articles