Groovy问题与" toDouble()。intValue()"

2020-08-15 03:24发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 我正在尝试将以下J...

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

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


专家您好,

我正在尝试将以下JSON值转换为Integer:

"项目":[{
 "产品":" 5000002325",
 "数量":" 10"
 }] 

这是我正在使用的脚本:

导入com.sap.gateway.ip.core.customdev.util.Message
 导入groovy.json.JsonSlurper
 导入groovy.json.JsonOutput
 def消息processData(消息消息){

     def json = message.getBody(java.lang.String)
     def jsonSlurper =新的JsonSlurper()
     def对象= jsonSlurper.parseText(json)

     object.Items.each {项目->
        //将乘积转换为整数
         item.Product = item.Product.toDouble()。intValue()
        //将数量转换为整数
         item.Quantity = item.Quantity.toDouble()。intValue()
     }
     message.setBody(JsonOutput.toJson(object))
     返回讯息
 }
 

但是它将"产品"值转换为完全不同的数字:

"商品":[{
 "产品":2147483647,
 "数量":10
 }]
 

如果产品长度小于10个字符,则效果很好。

您能建议吗?

谢谢

阿尼班