我有一個帶有一個帶有十進制類型參數的方法的webService。該參數必須有2個浮點位置。
我該如何確保?C#:確保一個小數有2個浮點位置
public void callMyWS(decimal d1) {
...
decimal d2 = Ensure2FloatingPointPlaces(d1);
proxy.MyWSmethod(d2);
}
。
MyWSmethod(decimal myDD) { ... }
MyWSmethod有兩個地方的驗證。所以:
如果「d1」是1.00 =>一切正常。
如果「d1」爲1 =>驗證失敗。
主要問題是如果d1是類似整數的。
我讀了一些關於「m」後綴的內容。但是所有的例子都是不變的數字,這不是很有用......正如你可以看到,它不是轉換爲字符串的目標。
讓我們來看看XSD:
<xs:element name="MyWSmethod" type="tns:MyWSmethodType"/>
...
<xs:complexType name="MyWSmethodType">
<xs:sequence>
...
<xs:element name="myDecimal" type="myDecimalType"/>
...
</xs:sequence>
</xs:complexType>
...
<xs:simpleType name="myDecimalType">
<xs:restriction base="xs:decimal">
<xs:pattern value="[\-]?[0-9]+\.[0-9]{2}"/>
</xs:restriction>
</xs:simpleType>
因此,當您從XSD構建Web服務客戶端,你將有2個浮點場所的限制。
你是什麼意思「這參數必須有2個浮點位置「?究竟確保這一點能夠幫助你? – Oded
十進制數字有一組指定的數字,您不能強制它變得越來越短......您唯一能做的就是在浮點數之後顯示一定數量的數字。 –