根据物料单位决定是否去掉小数点!(航发项目)

本文介绍了一种针对采购计划中特定单位(如“件”或“套”)的数值处理方法,通过去除这些单位的小数部分来简化显示。同时保留了其他单位的小数精度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果物料单位为“件”或“套”,则去掉小数点,其他的保留小数点!

 

类PurchaseStringUtil中增加一个方法:

public static String getIntegerByDouble(Double srcDouble,Integer unitId){
     String strResult = null;
     String unitName = BusinessUtil.getDictItemName((Integer) unitId);
     if ((srcDouble!=null) && ("件".equals(unitName) || "套".equals(unitName))){
      strResult = ConvertUtil.toInteger(srcDouble).toString();
     } else{
      strResult = srcDouble.toString();
     }
     
   return strResult;
   
   }

 

 

在JSP中做下列判断(导入相应类):

<%
     String planQty = PurchaseStringUtil.getIntegerByDouble(((PurchasePlanItemVO)item).getPlanQty(),((PurchasePlanItemVO)item).getQtyUnit());
%>

<logic:notEmpty name="item" property="planQty"><%=planQty %> </logic:notEmpty>

### 三、Hive 中去除小数点的方法 在 Hive 中,如果字段为浮点类型(如 `FLOAT` 或 `DOUBLE`)或字符串类型(如 `STRING`),并且需要去除小数点以实现整数化处理或格式化输出,可以使用多种函数来实现。以下是几种常见的方法: #### 使用 `CAST` 函数进行类型转换 将浮点数或字符串类型的字段转换为整数类型(如 `INT` 或 `BIGINT`)可以自动去除小数点后的部分。例如: ```sql SELECT CAST(123.45 AS INT); -- 返回 123 SELECT CAST('123.45' AS INT); -- 返回 123 ``` 此方法适用于需要将数值截断为整数的场景,但不适用于需要四舍五入的情况。使用 `CAST` 时,如果字段中包含非数字字符,则会返回 `NULL` [^2]。 #### 使用 `FLOOR`、`CEIL` 或 `ROUND` 函数 如果需要对小数部分进行处理,可以结合 `FLOOR`(向下取整)、`CEIL`(向上取整)或 `ROUND`(四舍五入)函数。例如: ```sql SELECT FLOOR(123.99); -- 返回 123 SELECT CEIL(123.01); -- 返回 124 SELECT ROUND(123.5); -- 返回 124 ``` 这些函数可以用于不同的数值处理需求,如保留整数、取上限或进行四舍五入 [^2]。 #### 使用字符串处理函数 如果字段为字符串类型,并且需要去除小数点后面的部分,可以使用 `SUBSTR` 和 `INSTR` 函数组合来实现。例如: ```sql SELECT SUBSTR('123.45', 0, INSTR('123.45', '.') - 1); -- 返回 '123' ``` 此方法适用于字符串形式的数值,可以精确控制小数点前的部分,但需要注意字段中是否确实包含小数点 [^4]。 #### 使用 `REGEXP_REPLACE` 函数 对于字符串类型的字段,也可以使用正则表达式去除小数点后面的部分。例如: ```sql SELECT REGEXP_REPLACE('123.45', '\\..*', ''); -- 返回 '123' ``` 该方法适用于需要灵活处理字符串格式的场景,但需要注意正则表达式的正确性 [^4]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值