📄 mathutils.java
字号:
/*
* Created on 2005/11/1
*/
package com.leeman.common.util;
/**
* @author Dennis
*/
public class MathUtils {
public static Double wtKg_to_Tons(Double WtKg)
{
if (WtKg != null)
return new Double(wtKg_to_Tons(WtKg.doubleValue()));
else
return null;
}
public static double wtKg_to_Tons(double WtKg)
{
return WtKg / 1000;
}
public static Double wtTons_to_Kg(Double WtTons)
{
if (WtTons != null)
return new Double(wtTons_to_Kg(WtTons.doubleValue()));
else
return null;
}
public static double wtTons_to_Kg(double WtTons)
{
return WtTons * 1000;
}
public static double uomIN_to_MM(double uomIN)
{
return uomIN * 25.4;
}
public static double uomMM_to_M(double uomMM)
{
return uomMM / 1000;
}
public static Double round(Double data, int dp) throws Exception
{
return new Double(round(data.doubleValue(), dp));
}
public static double round(double data, int dp) throws Exception
{
if (dp < 0 || dp > 8){
throw new Exception ("Unsupported rounding decimal place.");
}
else{
double DP[] = new double[9];
DP[0] = 1;
DP[1] = 10;
DP[2] = 100;
DP[3] = 1000;
DP[4] = 10000;
DP[5] = 100000;
DP[6] = 1000000;
DP[7] = 10000000;
DP[8] = 100000000;
return Math.round((data * DP[dp])+0.00001) / DP[dp];
}
}
public static Double toBaseCurrency(Double value, Double exchangeRate) throws Exception
{
return new Double(MathUtils.round(value.doubleValue() * exchangeRate.doubleValue(), 2));
}
public static double calc_est_WeightTons(Double paperSize, String UOM, Long paperTypeLength, Double baseWeight, Long Qty) throws Exception
{
if (paperSize == null || UOM == null || paperTypeLength == null || baseWeight == null){
throw new Exception ("est_WeightTons(): invalid paper size/uom/paper type length/ base weight");
}
else if (!UOM.equals("I") && !UOM.equals("M")){
throw new Exception ("est_WeightTons(): uom should be in MM or IN");
}
else{
double paperSizeInMetre = 0;
if ( UOM.equalsIgnoreCase("M"))
{
paperSizeInMetre = uomMM_to_M(paperSize.doubleValue());
}
else if(UOM.equalsIgnoreCase("I"))
{
paperSizeInMetre = uomMM_to_M(uomIN_to_MM(paperSize.doubleValue()));
}
double estWtTonsUnit = wtKg_to_Tons(paperSizeInMetre * paperTypeLength.doubleValue() * baseWeight.doubleValue());
double estWtTons = round(estWtTonsUnit, 3) * Qty.doubleValue();
return round((estWtTons),3);
}
}
public static long calc_est_Rolls(Double paperSize, String UOM, Long paperTypeLength, Double baseWeight, Double Est_weight) throws Exception
{
if (paperSize == null || UOM == null || paperTypeLength == null || baseWeight == null){
throw new Exception ("est_Rolls(): invalid paper size/uom/paper type length/ base weight");
}
else if (!UOM.equals("I") && !UOM.equals("M")){
throw new Exception ("est_Rolls(): uom should be in MM or IN");
}
else{
double paperSizeInMetre = 0;
if ( UOM.equalsIgnoreCase("M"))
{
paperSizeInMetre = uomMM_to_M(paperSize.doubleValue());
}
else if(UOM.equalsIgnoreCase("I"))
{
paperSizeInMetre = uomMM_to_M(uomIN_to_MM(paperSize.doubleValue()));
}
double estWtTonsUnit = wtKg_to_Tons(paperSizeInMetre * paperTypeLength.doubleValue() * baseWeight.doubleValue());
Long estRolls = new Long ( new Double(round(Est_weight.doubleValue() / round(estWtTonsUnit, 3),0)).longValue() ) ;
return estRolls.longValue() ;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -