在SAP PO中使用格式编号时长十进制不舍入

2020-08-22 04:58发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家,

在使用formatnumber来取整十进制数时,我遇到了一个奇怪的问题。

我观察到,如果在小数点后两位开始都是偶数,那么四舍五入就不会发生。

对于十进制后的奇数值,四舍五入正确进行。

示例:

1126.1050

1020.1250

格式编号适用于<50和> 50完美,但仅在= 50舍入时才出现问题。

如果您遇到相同的问题,请告诉我。

decimal.jpg

decimal.jpg (59.6 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家,

在使用formatnumber来取整十进制数时,我遇到了一个奇怪的问题。

我观察到,如果在小数点后两位开始都是偶数,那么四舍五入就不会发生。

对于十进制后的奇数值,四舍五入正确进行。

示例:

1126.1050

1020.1250

格式编号适用于<50和> 50完美,但仅在= 50舍入时才出现问题。

如果您遇到相同的问题,请告诉我。

decimal.jpg

decimal.jpg (59.6 kB)
付费偷看设置
发送
9条回答
暮风yp
1楼 · 2020-08-22 05:40.采纳回答

嗨!

字符串模式= formatStr.trim();
 字符串小数点分隔符= eparator.trim();
 DecimalFormatSymbols dfs = new DecimalFormatSymbols();
 if(!(decimalSeparator == null ||"" .equals(decimalSeparator))){
 char sep = decimalSeparator.charAt(0);
 dfs.setDecimalSeparator(sep);
 }
 DecimalFormat df =新的DecimalFormat(pattern,dfs);
 df.setRoundingMode(RoundingMode.HALF_UP);
 返回df.format(new BigDecimal(num)); 

关于Evgeniy。/p>

小c菟菟
2楼-- · 2020-08-22 05:37

非常感谢 Evgeniy Kolmakov。 是的,它可以正常工作。问题已由您的代码解决。

我是小鹏鹏啊
3楼-- · 2020-08-22 05:43

嗨,

我尝试使用给定的udf,但没有用。

结果应为3484.16、11613.90、2209.15、3059.13等。

有人可以帮我吗?

此致

Kiran Polani

一周热门 更多>