You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.4 KiB
45 lines
1.4 KiB
1 year ago
|
package com.ruoyi.common.utils;
|
||
|
|
||
|
import java.math.BigDecimal;
|
||
|
import java.math.RoundingMode;
|
||
|
|
||
|
/**
|
||
|
* @Description 桩号距离计算工具
|
||
|
*
|
||
|
* @author liuwenge
|
||
|
* @date 2024/1/17 14:43
|
||
|
*/
|
||
|
public class StakeMarkUtils {
|
||
|
|
||
|
/**
|
||
|
* @Description 计算桩号距离(公里)
|
||
|
*
|
||
|
* @author liuwenge
|
||
|
* @date 2024/1/17 14:45
|
||
|
* @param startStakeMark 开始桩号
|
||
|
* @param endStakeMark 结束桩号
|
||
|
* @return java.math.BigDecimal 距离
|
||
|
*/
|
||
|
public static BigDecimal getKilometre(String startStakeMark, String endStakeMark){
|
||
|
String start = startStakeMark.toLowerCase().replace("k","").replace("+",".");
|
||
|
String end = endStakeMark.toLowerCase().replace("k","").replace("+",".");
|
||
|
return new BigDecimal(end).subtract(new BigDecimal(start)).setScale(3, RoundingMode.HALF_UP);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @Description 计算桩号距离(米)
|
||
|
*
|
||
|
* @author liuwenge
|
||
|
* @date 2024/1/17 15:04
|
||
|
* @param startStakeMark 开始桩号
|
||
|
* @param endStakeMark 结束桩号
|
||
|
* @return java.math.BigDecimal 距离
|
||
|
*/
|
||
|
public static BigDecimal getMetre(String startStakeMark, String endStakeMark){
|
||
|
String start = startStakeMark.toLowerCase().replace("k","").replace("+",".");
|
||
|
String end = endStakeMark.toLowerCase().replace("k","").replace("+",".");
|
||
|
return new BigDecimal(end).subtract(new BigDecimal(start)).multiply(new BigDecimal("1000")).setScale(0, RoundingMode.HALF_UP);
|
||
|
}
|
||
|
|
||
|
}
|