我在通过SOAP UI测试Web服务时遇到了一些问题。输出字段的数据类型为float
。问题是,该值在响应中转换为科学记数法。
示例:期待[500],实际输出为[5E2]。
除了更改字段的数据类型之外,有没有办法避免这种情况?
答案 0 :(得分:2)
如果您查看float datatype定义:
在IEEE单精度32位浮点后,float被图案化 点类型[IEEE 754-1985]。 float的基本·值空间包括 值 m×2 ^ e,其中m是绝对值为的整数 小于2 ^ 24 ,e是-149和104之间的整数,包括端值 ... 3.2.4.1词汇表示
浮点值具有由尾数组成的词汇表示 后面,可选地,字符“E”或“e”,然后是 指数即可。指数必须是一个整数。尾数必须是a 十进制数。指数和尾数的表示必须 遵循整数和小数的词法规则。 如果是“E”或“e” 并且省略以下指数,指数值为0 假设强>
基本上,如果您的号码不超过2 ^ 24,则不需要“E”符号(由于“E”是可选的),因此500
或5E2
都是有效的值这种类型的xml元素。
此外,SOAPUI不会对您的响应进行转换,实际输出是由您的服务器返回的,如果您的服务器代码中没有以“E”格式显式设置此值,那么可能是您用来实现的bean你的肥皂消息是在内部进行这种改变,或者也许是你的编程语言浮动的字符串表示...无论如何,如果你不希望得到带有“E”符号的结果,最好的方法是改变你的元素类型。
希望这有帮助,