价格转换(0.00格式的金额转化为以分为单位的整数值,String > BigDecimal > int)

将以元为单位的字符串 String 型价格转换为以分为单位的整数 int 值,Double 会丢失经度,用 BigDecimal 做转换。源码如下所示。

package *****.test;

import java.math.BigDecimal;

/**
 * @description
 * @date 2019/4/9 11:19
 */
public class Test {
    public static void main(String[] args) {
        String price = "5.09";
        BigDecimal decimal = new BigDecimal(price);
        BigDecimal res = decimal.multiply(new BigDecimal(100));
        System.out.println(res);
        int a = res.intValue();
        System.out.println(a);    
    }
}

intValue() 方法只取整数,不做四舍五入,下表列举几种 price 值和转换来的 int 值。

price (String) res (BigDecimal) a (int)
5.01 501.00 501
5.05 505.00 505
5.09 509.00 509
5.091 509.100 509
5.095 509.500 509
5.099 509.900 509
发布了32 篇原创文章 · 获赞 11 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/piaoranyuji/article/details/89336379
今日推荐