2010-11-24 26 views
1

我正在構建一個包含大量字段的表單,這些字段將包含金錢值 - 由於我無法理解的一些奇怪原因,InfoPath 2010不提供「開箱即用的「小數」或「錢」字段類型。 (所提供的十進制類型在其旁邊的括號中有(雙),這表明它將使用浮點算法進行存儲)。在InfoPath 2010中使用十進制/金錢字段類型

如果我從頭創建一個xsd並使用它在InfoPath中創建表單,它將接受< xsd:decimal>沒有問題,但我不再能夠從infopath中添加字段,這令人沮喪。

所以我的問題是,是否有任何方式在InfoPath 2010中使用十進制/金錢類型,而無需訴諸寫我自己的xsd - 或者 - 是否有某種方法可以讓我在創建InfoPath表單之後添加新字段XSD?

某種方式從xsd中「導入自定義字段類型」重複一遍又一遍地在信息表格中重複使用也可能解決問題 - 然後我可以導入基本類型爲xsd:decimal的「customType」並重用所有的形式...

回答

0

不幸的是,它是一個問題(缺乏一個更好的術語)在XPath(不InfoPath/XML或MS特定)。所以,即使你想出了一種創建你自己的類型的方法,我認爲當你嘗試訪問並創建相同的浮點問題時,內部的處理引擎仍然會將其轉換爲double。

看看這篇文章,使用四捨五入來解決(排序)的問題。不是最優雅的解決方案,但我認爲這就是InfoPath所堅持的。 http://blogs.msdn.com/b/infopath/archive/2008/04/17/invalid-data-error-when-calculating-the-result-of-2-or-more-fields.aspx

+0

感謝您的答案 - 所以XPath本身不支持xsd:decimal?還是算術/公式帶xsd:decimal的問題? – 2010-12-15 04:54:24

0

創建您的貨幣字段作爲文本框。選擇文本框,在「屬性」中選擇「字段屬性」。將數據類型更改爲Decimal(double)。然後將數據格式(在功能區中)更改爲數字,小數位數2.作品像魅力:-)

相關問題