对货币数据进行转换——新浪面试

对货币数据进行转换

要求:输入一串数字,最后两位代表角和分,需要转换为元,舍去最后两位
前面的数据,从后往前依次隔三位使用逗号分割,最后剩余的部分不足三位则不分割
例如:输入:123456789,输出:1,234,567

package com.coderwjq.gapdemap;

/**
 * @Created by coderwjq on 2017/5/11 14:41.
 * @Desc
 */

public class TransUtils {
    private static final String TAG = "TransUtils";

    public static String trans(String input) {
        if (input.length() < 3) {
            return "0";
        } else {
            input = input.substring(0, input.length() - 2);

            int extra = input.length() % 3;

            StringBuilder sb = new StringBuilder();

            int j = 0;
            for (int i = 0; i < input.length(); i++) {
                if (i < extra) {
                    sb.append(input.charAt(i));
                } else {
                    if (j % 3 == 0) {
                        sb.append(",");
                    }
                    sb.append(input.charAt(i));
                    j++;
                }
            }

            return sb.toString();
        }
    }
}

posted @ 2017-05-11 15:21  喳喳的夏天  阅读(158)  评论(0编辑  收藏  举报