1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package com.inet.ailink.receiver.common.utils;
-
- import java.io.IOException;
- import java.math.BigDecimal;
-
- public class WeightUnitUtils {
-
- public static void main(String arg[]) throws IOException{
- // System.out.println("100kg="+getKg(100,0,0)+"kg");//100kg
- // System.out.println("10kg="+getKg(100,0,1)+"kg");//10kg
- // System.out.println("1kg="+getKg(100,0,2)+"kg");//1kg
- // System.out.println("100.1kg="+getKg(1001,0,1)+"kg");//1kg
- // System.out.println("100.5kg="+getKg(1005,0,1)+"kg");//1kg
- // System.out.println("100.6kg="+getKg(1006,0,1)+"kg");//1kg
- // System.out.println("100.8kg="+getKg(1008,0,1)+"kg");//1kg
- // System.out.println("100.11kg="+getKg(10011,0,2)+"kg");//1kg
- // System.out.println("100.55kg="+getKg(10055,0,2)+"kg");//1kg
- // System.out.println("100.66kg="+getKg(10066,0,2)+"kg");//1kg
- // System.out.println("100.88kg="+getKg(10088,0,2)+"kg");//1kg
-
- // System.out.println("100lb="+getKg(100,6,0)+"kg");//100kg
- // System.out.println("10lb="+getKg(100,6,1)+"kg");//10kg
- // System.out.println("1lb="+getKg(100,6,2)+"kg");//1kg
- // System.out.println("100.1lb="+getKg(1001,6,1)+"kg");//1kg
- // System.out.println("100.5lb="+getKg(1005,6,1)+"kg");//1kg
- // System.out.println("100.6lb="+getKg(1006,6,1)+"kg");//1kg
- // System.out.println("100.8lb="+getKg(1008,6,1)+"kg");//1kg
- // System.out.println("100.11lb="+getKg(10011,6,2)+"kg");//1kg
- // System.out.println("100.55lb="+getKg(10055,6,2)+"kg");//1kg
- // System.out.println("100.66lb="+getKg(10066,6,2)+"kg");//1kg
- // System.out.println("100.88lb="+getKg(10088,6,2)+"kg");//1kg
-
- // System.out.println("100st="+getKg(100,4,0)+"kg");//100kg
- // System.out.println("10st="+getKg(100,4,1)+"kg");//10kg
- // System.out.println("1st="+getKg(100,4,2)+"kg");//1kg
- // System.out.println("100.1st="+getKg(1001,4,1)+"kg");//1kg
- // System.out.println("100.5st="+getKg(1005,4,1)+"kg");//1kg
- // System.out.println("100.6st="+getKg(1006,4,1)+"kg");//1kg
- // System.out.println("100.8st="+getKg(1008,4,1)+"kg");//1kg
- // System.out.println("100.11st="+getKg(10011,4,2)+"kg");//1kg
- // System.out.println("100.55st="+getKg(10055,4,2)+"kg");//1kg
- // System.out.println("100.66st="+getKg(10066,4,2)+"kg");//1kg
- // System.out.println("100.88st="+getKg(10088,4,2)+"kg");//1kg
-
- }
-
- public static BigDecimal getKg(BigDecimal weight, int weightUnit,int weightPoint){
- BigDecimal result = BigDecimal.ZERO;
- //小数位转换
- if(weightPoint == 0){
- result = weight;
- }else{
- result = weight;
- for(int i=0;i<weightPoint;i++){
- result = result.divide(new BigDecimal(10));
- }
- }
- //单位转化为千克
- switch (weightUnit) {
- case 0://千克,不需要转换
- break;
- case 1://斤->千克
- result = result.multiply(new BigDecimal(2));
- break;
- case 4://st->千克
- //st先转成lb,在转成千克
- result = result.multiply(new BigDecimal(14.0f));//st->lb
- result = result.divide(new BigDecimal(2.2046226f),7, BigDecimal.ROUND_HALF_UP);//lb->kg
- break;
- case 6://lb->kg
- result = result.divide(new BigDecimal(2.2046226f),7, BigDecimal.ROUND_HALF_UP);
- break;
- default:
- break;
- }
- //保留2位小数
- result = result.setScale(2, BigDecimal.ROUND_HALF_UP);
- return result;
- }
- }
|