2013-05-07 116 views
-1

我正在閱讀XPath Number function的文檔。與XPath number()函數混淆

數函數不應當用於轉換的XML文檔中的元素髮生數字數據的,除非該元素是表示在一箇中性語言格式數值數據的類型的(這將通常會被轉換成語言特定的格式以呈現給用戶)。另外,除非元素使用的語言無關格式與Number的XPath語法一致,否則不能使用數字功能

比四種基本類型以外的其他類型的對象轉換爲數字的方式,依賴於該類型

任何人都可以點我上面有哪些粗線意味着技術上?

回答

1

這意味着數()不能處理表示在區域設置相關的格式,如1'000'000數字的字符串。如果這聽起來不必要的複雜,那可能是因爲工作組對數字()是否應該處理本地化數字進行激烈辯論,決定不應該這樣做,並將此文本作爲其審議的化石證據。

+0

感謝您的回答。我也試過測試'boolean true轉換爲1;布爾值false被轉換爲0'(取自同一鏈接)。但是我得到了錯誤。這句話是什麼意思? – 2013-05-07 07:53:25

+0

這意味着數字(2 = 2)的結果是1,並且數字(2 = 3)的結果是0. – 2013-05-07 22:12:58

+0

這完全理解,我的意思是說在XML節點的情況下,這將如何適合? – 2013-05-08 05:02:23

0

這意味着該方法不能被用於局部數值字符串轉換爲數字,例如:

1.200,20 

這是一個德國數字格式。只有像XPath specification中定義的數字字符串才能獲得可靠的結果。所以,上面的數字必須是這樣的:

1200.20