一、问题来源
- 在物料管理中,厚度和规格是物料的一种属性,但是有的物料是有规格的,例入型材;有的物料是有厚度,例如钢板
- 规格是文本类型,厚度是数字类型,两个字段合起来放到一个字段上计算的时候不便操作,所以分开存储
- 前端界面展示形式是
规格/厚度
,在一个字段上面,有规格无厚度,有厚度无规格,取两者之一 - 为了传参方便,所以把值都放在了规格这个文本类型字段上,但是厚度是小数类型,避免不了会有小数点的问题
- 例如厚度=10.20,那么放到规格上面就是规格=“10.20”,但是实际上需要展示的是规格=“10.2”,所以就需要去掉尾部的无效0
- 例如厚度=10,那么放到规格上面就是规格=“10”,尾部的0是有效的,不需要去除
二、代码实现
- 推荐使用扩展方法,操作方便
- 假如是其他数字类型,例如
double
,那么只需要改变入参类型即可,下面给出实例
public static class DecimalExtension
{
public static string ToStringAndRemoveEndZeros(this decimal data)
{
return data.ToString("0.#####");
}
}
public static class DoubleExtension
{
public static string ToStringAndRemoveEndZeros(this double data)
{
return data.ToString("0.#####");
}
}