避免/覆盖SOAP UI响应中的科学记数法[E]

时间:2014-06-11 10:07:33

标签: xml web-services soap xsd soapui

我在通过SOAP UI测试Web服务时遇到了一些问题。输出字段的数据类型为float。问题是,该值在响应中转换为科学记数法

示例:期待[500],实际输出为[5E2]。

除了更改字段的数据类型之外,有没有办法避免这种情况?

1 个答案:

答案 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”是可选的),因此5005E2都是有效的值这种类型的xml元素。

此外,SOAPUI不会对您的响应进行转换,实际输出是由您的服务器返回的,如果您的服务器代码中没有以“E”格式显式设置此值,那么可能是您用来实现的bean你的肥皂消息是在内部进行这种改变,或者也许是你的编程语言浮动的字符串表示...无论如何,如果你不希望得到带有“E”符号的结果,最好的方法是改变你的元素类型。

希望这有帮助,