在javascript中将字符串转换为印度格式

Posted

技术标签:

【中文标题】在javascript中将字符串转换为印度格式【英文标题】:convert string in indian format in javascript 【发布时间】:2013-04-29 11:37:42 【问题描述】:

我只需要在 javascript/jquery 中转换印度格式的字符串(这是从 UI 输入的数字)

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;


【问题讨论】:

可能重复:***.com/questions/16037165/… 【参考方案1】:

你可能想试试jQuery Globalize

https://github.com/jquery/globalize#number-formatting

“te-IN”文化正是这样做的。

【讨论】:

以上是关于在javascript中将字符串转换为印度格式的主要内容,如果未能解决你的问题,请参考以下文章

无法在JavaScript中将String BST日期格式转换为UTC

在Javascript中将rgb字符串转换为十六进制

在 C# 中将 (Javascript)TypedArray 字符串转换为 byteArray 的最佳方法

在控制浮点数精度的同时在javascript中将数组转换为字符串

仅在 javascript 中将 HH:MM:SS 字符串转换为秒

在JavaScript中将日期转换为另一个时区