C#肥皂响应强制十进制字段上的小数位

时间:2016-03-03 09:14:50

标签: c# web-services soap wsdl

我有系统A向系统B上托管的Soap Web服务发出请求。目前,系统B返回一个十进制数据类型,其格式为显示3个小数位。我使用wsdl.exe工具生成类,它只显示为直线小数。

我需要使用自己的Soap服务复制系统B,但我无法获得小数字段以显示3位小数。我无法控制系统A的期望,并且我被告知即使值为圆形也必须显示小数(例如500.000)。

在阅读了很多关于格式化为字符串然后进行十进制解析的帖子之后,我所做的一切都无法强制执行此行为。我已经看过Soap和XML属性,但似乎无法控制这一点。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

令人尴尬的是它有效!

if (_fd.CreditLimit.HasValue) {
  decimal _dd = Convert.ToDecimal(_fd.CreditLimit.Value.ToString("#.000"));
  //decimal _dd = 500.000m;
  _rv.CreditLimit = _dd;
}

我在Visual Studio中破坏了我的代码,当我检查变量_dd时它显示500.但是如果我让Soap做它的事情并返回结果它显示500.000作为值。