【发布时间】:2014-03-18 13:15:45
【问题描述】:
我有一张地图
["name1":["field1":value1, "field2":value2, "field3":value3], “名称 2”:[“字段 1”:值 4,“字段 2”:值 5,“字段 3”:值 6], "name3":["field1":value7, "field2":value8, "field3":value9]]
还有一个列表
[名称1,名称3]
我想要一个结果
["name1":["field1":value1, "field2":value2, "field3":value3], "name3":["field1":value7, "field2":value8, "field3":value9]]
使用的代码
result = recomendationOffers.inject( [:] ) { m, v ->
if( !m[ v ] ) {
m[ v ] = []
}
m[ v ] << tariffRecMap[ v.toString() ]
m
}
现在 name1 的数据类型从 Varchar2(35) 更改为 number(10)。
我希望相同的逻辑可以工作,但它不工作,我得到了价值
["name1":[null], "name3":[null]]
1000000959 等值也显示为 1.000000959E9,这有什么区别吗?
发布原始值
当我处理 string 时,它看起来如下所示
["FBUN-WEB-VIRGIN-10-24-08":["FIXEDLN_ALLOWANCE":0.0, "OFFER_VERSION_ID":1.000013082E9, "OFFER_TYPE_DESC":"合同", "OFFER_NAME":"PM_V 10 50+250 CA", "SMS_ALLOWANCE":250.0, “VM_TARIFF_FLAG”:“N”,“IPHONE_IND”:“N”,“OFFER_MRC”:10.5, "ALLOWANCE08":0.0, "DATA_ALLOWANCE":524288.0, "BB_IND":"N", "CONTRACT_TERM":24.0, "OFFER_CODE":"FBUN-WEB-VIRGIN-10-24-08", "ONNET_TEXT_ALLOWANCE":0.0, "VOICE_ALLOWANCE":50.0, "MMS_ALLOWANCE":0.0, "ONNET_ALLOWANCE":0.0],
现在,在数据库数据类型从 varchar 更改为 number 后,它看起来如下所示,其中 DB 中的值为 1000010315
[1.000010315E9:["FIXEDLN_ALLOWANCE":0.0, "OFFER_VERSION_ID":1.000010315E9, "OFFER_TYPE_DESC":"Sup 语音", "OFFER_NAME":"VIP - 35 c", "SMS_ALLOWANCE":60000.0, “VM_TARIFF_FLAG”:“N”,“IPHONE_IND”:“N”,“OFFER_MRC”:35.0, “ALLOWANCE08”:45000.0,“DATA_ALLOWANCE”:2.147483648E9,“BB_IND”:“N”, "CONTRACT_TERM":24.0, "OFFER_CODE":"FBUN-MVP-WEB-VIRGIN-35-24-20", "ONNET_TEXT_ALLOWANCE":0.0, "VOICE_ALLOWANCE":45000.0, "MMS_ALLOWANCE":0.0, "ONNET_ALLOWANCE":0.0]
【问题讨论】:
标签: groovy