金额转换为自定义字符串

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;

public final class AmountUtil {
    private static DecimalFormat LIMIT_AMOUNT_FORMAT = new DecimalFormat("#.00");

    static {
        LIMIT_AMOUNT_FORMAT.setRoundingMode(RoundingMode.FLOOR);
    }

    /**
     * 1亿
     */
    private static final int HUNDRED_MILLION = 100000000;

    /**
     * 1万
     */
    private static final int TEN_THOUSAND = 10000;

    /**
     * 金额转换为自定义字符串(保留两位小数)
     */
    public static String CustomFormatWith2Digits(int amount) {
        if (0 < amount && amount < TEN_THOUSAND) {
            return String.format("%d元", amount);
        } else if (TEN_THOUSAND <= amount  && amount < HUNDRED_MILLION) {
            if (amount % TEN_THOUSAND == 0) {
                return String.format("%d万元", amount / TEN_THOUSAND);
            } else {
                BigDecimal tmpAmount = BigDecimal.valueOf(amount * 1.0 / TEN_THOUSAND);
                return String.format("%s万元", LIMIT_AMOUNT_FORMAT.format(tmpAmount));
            }
        } else if (HUNDRED_MILLION <= amount) {
            if (amount % HUNDRED_MILLION == 0) {
                return String.format("%d亿元", amount / HUNDRED_MILLION);
            } else {
                BigDecimal tmpAmount = BigDecimal.valueOf(amount * 1.0 / HUNDRED_MILLION);
                return String.format("%s亿元", LIMIT_AMOUNT_FORMAT.format(tmpAmount));
            }
        }
        return "";
    }

    /**
     * 金额字符串(可能带千分位)转换为自定义字符串(保留两位小数)
     */
    public static String CustomFormatWith2Digits(String amountStr) {
        int amount = 0;
        try {
            if (amountStr.contains(",")) {
                amountStr = amountStr.replace(",", "");
            }
            amount = Integer.parseInt(amountStr);
        } catch (NumberFormatException e) {
            return "";
        }

        return CustomFormatWith2Digits(amount);
    }
}
时间: 2024-08-12 07:06:24

金额转换为自定义字符串的相关文章

OC学习将C语言字符串转换为OC字符串

将C语言字符串转换为OC字符串 1 /** 2 * inputNSString:自定义函数 3 */ 4 #import <Foundation/Foundation.h> 5 /** 6 * 将C语言字符串转换为OC语言字符串 7 * @return OC语言字符串 8 */ 9 NSString *inputNSString(){ 10 char arr[256];//假定数组长度为256 11 char ch; 12 int length=0; 13 //while ((ch=getch

C#把金额转换为汉字表达式

/* 创建者:菜刀居士的博客 * 创建日期: 2014年09月04号 * 功能:Money类型转换 * */ namespace Net.String.ConsoleApplication { using System; using System.Collections.Generic; public class MoneyHelper { public static string[] chineseDigits = new string[] { "零", "壹",

PHP把数组转换为JSON字符串

<?php/**PHP把数组转换为JSON字符串**/$arr = [10,'Tom',true, '2015-10-15'];//echo $arr;echo json_encode($arr);//编码为JSON字符串 $arr = ['eid'=>10,'ename'=>'Tom','isMarried'=>true, 'birthday'=>'2015-10-15'];//echo $arr;echo json_encode($arr);//编码为JSON字符串 //

json对象转换为json字符串

json对象转换为json字符串         可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串.         1. toJSONString()方法                 var last=obj.toJSONString(); //将JSON对象转化为JSON字符         2. JSON.stringify()方法                 var last=JSON.stringify(obj)

人民币 小写金额转换为大写金额

### 人民币 小写金额转换为大写金额 标签(空格分隔): 人民币 小写金额转换为大写金额 --- jsp:```div class="form-group"><label class="col-sm-4 control-label">合计人民币金额(小写):</label><div class="col-sm-7"><input id="totalRmbLower" type=

Mongo:将查询结果转换为自定义类

1.自定义类 public class MyClass { public string Name { get; set; } public int Corners { get; set; } } 2.查询数据并转换 var config = new MongoConfigurationBuilder(); config.ConnectionString(""); using (Mongo mongo = new Mongo(config.BuildConfiguration())) {

[Javascript] 如何自定义字符串格式化输出

在其他语言中十分常见的字符串格式化输出,居然在 Javascript 中不见踪影,于是决定自己实现该方法,以下就是个人编写的最简洁实现: String.prototype.format = function(){ var args = arguments; return this.replace(/\{(\d+)\}/gm, function(ms, p1){return typeof(args[p1]) == 'undefined' ? ms : args[p1]}); } 应用示例: >>

将字节数组转换为十六进制字符串

/**     * 将字节数组转换为十六进制字符串     *      * @param byteArray     * @return     */    private static String byteToStr(byte[] byteArray) {        String strDigest = "";        for (int i = 0; i < byteArray.length; i++) {            strDigest += byte

JackSon将java对象转换为JSON字符串

JackSon可以将java对象转换为JSON字符串,步骤如下: 1.导入JackSon 的jar包 2.创建ObjectMapper对象 3.使用ObjectMapper对象的writeValueAsString()方法将java对象转换为JSON对象 这里有个例子: public class Fruit { private String name; private String id; public Customet(String name, String id) { super(); th