点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家,
在使用formatnumber来取整十进制数时,我遇到了一个奇怪的问题。
我观察到,如果在小数点后两位开始都是偶数,那么四舍五入就不会发生。
对于十进制后的奇数值,四舍五入正确进行。
示例:
1126.1050
1020.1250
格式编号适用于<50和> 50完美,但仅在= 50舍入时才出现问题。
如果您遇到相同的问题,请告诉我。
decimal.jpg (59.6 kB)
嗨!
关于Evgeniy。/p>
Evgeniy,
能帮我解决这个问题吗?
我的要求是12345.1250是否也应该转换为12345.13。
此致
Kiran Polani。
嗨!
这只是一个猜测,但是" FormatNumber"似乎使用了Java DecimalFormat类"在幕后",而该类又使用了舍入 默认情况下为模式RoundingMode.HALF_EVEN:
除非两个邻居之间的距离都等距,否则舍入模式将向"最近的邻居"舍入,在这种情况下,应向偶数邻居舍入。
例如:4 <-4.5-5,但5-5.5-> 6
关于,Evgeniy。
嗨 ! 我将简单地使用Manoj提供的代码段,并添加:
df.setRoundingMode(RoundingMode.HALF_UP)
关于此,伊夫基尼。
嗨 !
我建议使用UDF,例如利用提到的java类,但是将RoundingMode.HALF_UP作为舍入模式。
关于Evgeniy。
您能帮我在Udf上吗?
此致
Kiran Polani
Hi Polani,
您尝试过udf吗?
此致
Bhaskar。
一周热门 更多>