2013-04-29 2 views
0

Мне нужно преобразовать строку (которая является номером ввода из пользовательского интерфейса) в индийском формате в JavaScript/JQuery толькоконвертировать строку в индийский формат в JavaScript

Input: 1234567 
Output: 12,34,567 

Input: 91234567.00 
Output: 9,12,34,567.00 

я написал то же самое в Java, но изо всех сил записать его в Javascript

для справки, Java код ниже

public static String indianFormat(BigDecimal n) { 
    DecimalFormat formatter = new DecimalFormat("##,###"); 
    boolean negFlag = n.compareTo(BigDecimal.ZERO) < 0 ? true : false; 
    n = n.abs(); 
    String dec = ""; 
    if (n.toString().indexOf(".") > -1) { 
     dec = "." + n.setScale(2, RoundingMode.HALF_UP).toString().split("\\.")[1]; 
    } else { 
     dec = ".00"; 
    } 
    String returnValue = ""; 

    if (n.longValue() > 9999) { 
     formatter.applyPattern("#,##"); 

     returnValue = formatter.format((int) (n.longValue()/1000)) + ","; 
     formatter.applyPattern("#,###"); 
     String rem = formatter.format(n.longValue() - (long) (n.longValue()/1000) * 1000); 
     if (Integer.parseInt(rem) == 0) { 
      returnValue = returnValue + "000"; 
     } else if (Integer.parseInt(rem) < 10) { 
      returnValue = returnValue + "00" + rem; 
     } else if (Integer.parseInt(rem) < 100) { 
      returnValue = returnValue + "0" + rem; 
     } else { 
      returnValue = returnValue + rem; 
     } 

    } else if (n.intValue() >= 1000 && n.intValue() <= 9999) { 
     formatter.applyPattern("#,###"); 

     returnValue = formatter.format(n.intValue()); 

    } else { 

     returnValue += n.intValue(); 

    } 

    if (negFlag == true) 
     return "-" + returnValue + dec; 
    else 
     return returnValue + dec; 

} 
+4

Возможный дубликат: http: //stackoverflow.com/questions/16037165/displaying-a-number-in-indian-format-using-javascript – NINCOMPOOP

ответ

Смежные вопросы