我有一个简单的带有soap WebService的spring-boot应用程序:
https://spring.io/guides/gs/production-web-service/
在xsd中,我添加了自定义的bigdecimal类型(money类型)。
<xs:complexType name="country">
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="population" type="xs:int" />
<xs:element name="capital" type="xs:string" />
<xs:element name="currency" type="tns:currency" />
<xs:element name="value1" type="xs:decimal" />
<xs:element name="value2" type="tns:money" />
</xs:sequence>
</xs:complexType>
<xs:simpleType name="money">
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="2" />
</xs:restriction>
</xs:simpleType>
CountryRepository类:
Country spain = new Country();
spain.setName("Spain");
spain.setCapital("Madrid");
spain.setCurrency(Currency.EUR);
spain.setPopulation(46704314);
spain.setValue1(new BigDecimal(1.2));
spain.setValue2(new BigDecimal(2.1));
countries.add(spain);
请求:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:gs="http://spring.io/guides/gs-producing-web-service">
<soapenv:Header/>
<soapenv:Body>
<gs:getCountryRequest>
<gs:name>Spain</gs:name>
</gs:getCountryRequest>
</soapenv:Body>
</soapenv:Envelope>
答复:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns2:getCountryResponse xmlns:ns2="http://spring.io/guides/gs-producing-web-service">
<ns2:country>
<ns2:name>Spain</ns2:name>
<ns2:population>46704314</ns2:population>
<ns2:capital>Madrid</ns2:capital>
<ns2:currency>EUR</ns2:currency>
<ns2:value1>1.1999999999999999555910790149937383830547332763671875</ns2:value1>
<ns2:value2>2.100000000000000088817841970012523233890533447265625</ns2:value2>
</ns2:country>
</ns2:getCountryResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
如何固定十进制输出?我希望:
<ns2:value2>2.10</ns2:value2>
// step 1
BigDecimal valueOne = new BigDecimal(2.1);
BigDecimal valueTwo = new BigDecimal(2.1);
// step 2
valueOne.setScale(2);
valueTwo.setScale(2);
//step 3
spain.setValue1(new BigDecimal(1.2));
spain.setValue2(new BigDecimal(2.1));
//console -> valueOne -> 1.2
//console -> valueTwo -> 2.1
问题内容: 有人可以解释一下我在Teradata中得到的以下结果: 结果是: 我期待DECIMAL(18,4) 问题答案: 每个DBMS在涉及小数的计算方面都有其自己的规则。 Teradata的基本规则是:当您将DECIMALs相加/相减/相除时,所得的分数精度是两个操作数中较大的一个,例如dec(10,2)+ dec(10,4)= dec(xx,4) 但是,当您乘以小数位时,例如,decdec(
本文向大家介绍MySQL中decimal类型用法的简单介绍,包括了MySQL中decimal类型用法的简单介绍的使用技巧和注意事项,需要的朋友参考一下 MySQL中支持浮点数的类型有FLOAT、DOUBLE和DECIMAL类型,DECIMAL 类型不同于FLOAT和DOUBLE,DECIMAL 实际是以串存放的。DECIMAL 可能的最大取值范围与DOUBLE 一样,但是其有效的取值范围由M 和D
本节讨论了MySQL 5.1中DECIMAL数据类型(以及其同义类型)的特性,尤其是下述方面: ·数字的最大数。 ·存储格式。 ·存储要求。 ·对DECIMAL列上界 的非标准MySQL扩展。 在本节中,对于为较早MySQL版本编写的应用程序,在相应的地方指出了可能的不兼容性。 DECIMAL列的声明语法是DECIMAL(M,D)。在MySQL 5.1中,参量的取值范围如下: ·M是数字的最大数(
考虑以下环境: 一个docker容器是keycloak 另一个docker容器是我们的web应用程序,它使用keycloak进行身份验证 因此,问题是:如何配置keycloak客户机来为浏览器重定向和访问令牌endpoint应用不同的URL?
本文向大家介绍python中的decimal类型转换实例详解,包括了python中的decimal类型转换实例详解的使用技巧和注意事项,需要的朋友参考一下 [Python标准库]decimal——定点数和浮点数的数学运算 作用:使用定点数和浮点数的小数运算。 Python 版本:2.4 及以后版本 decimal 模块实现了定点和浮点算术运算符,使用
问题内容: 我正在编写一个Java程序来挖掘货币兑换数据。数据可以在十进制中有多个数字,例如“ 0.973047”。经过研究后,我发现BigDecimal是Java的正确数据类型,但是我应该为PostgreSQL使用哪种数据类型? 问题答案: 正如JoachimIsaksson所说,您想使用/ type作为任意精度类型。 关于/的两个要点: 请仔细阅读该文档,以了解您应指定小数位,以避免默认小数位