2016-03-03 85 views
0

我有系統A向系統B上託管的Soap Web服務發出請求。當前系統B返回格式化爲顯示3位小數的十進制數據類型。我使用wsdl.exe工具生成類,它只是顯示爲一個十進制小數。C#肥皂響應強制小數位的小數位數

我需要複製系統B與我自己的肥皂服務,但我不能讓小數點字段顯示3小數位。我無法控制系統A的期望值,而且我被告知即使值是圓的(例如500.000),也必須顯示小數。

在閱讀了很多關於格式化字符串然後進行小數點解析的文章後,我沒有做任何事情可以強制這種行爲。我查看了Soap和XML屬性,但似乎沒有任何東西可以控制這一點。

我該如何做到這一點?

+1

您是否正在返回一個「小數」值或「雙」值?如果它是「十進制」,並且爲了測試您將該值硬編碼爲'500.000m',這是否有效?如果是這樣,我們可能會提供幫助...... –

回答

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。但是,如果我讓肥皂做它的事,並返回它顯示500.000作爲值的結果。