2012-04-04 12 views
2

応答にオブジェクトを受け取るASMXクライアントがあります。 このオブジェクトはプロパティを含み、そのうちの1つはタイプfloatです。XmlSerializerはfloatを1E + 07としてシリアル化します。

次に、レスポンスオブジェクトをシリアル化し、XSLTでトランスフォームしてユーザーに表示します。

ただし、そのプロパティの値が10000000の場合、1E + 07と表示されていますが間違っています。

プロキシクラスのプロパティのタイプをdoubleに変更すると、再び10000000になります。ただし、これが固めの解決策であるかどうかはわかりません。

XSLT format-numberでも試しましたが、XSLT 1.0は科学的表記法をサポートしていません。

+1

私は、10000000が浮動小数点数(浮動小数点数は精度を失うことなく10000000を保持できるにもかかわらず)が多すぎると思っています。二重の作品に変更する場合、私はあなたがそれをするだけではならない理由はないと思う。 –

+2

1E + 07として10000000を表示していないのはなぜですか? –

+0

@David Heffernan - ?顧客はそれに不満があるからですか? – jlp

答えて

0

プロパティをdecimalタイプに変更します。これは、精度の黙った喪失や科学的表記がないことが保証されているアプローチです。

関連する問題