我有一個數字格式化與不同語言的小數相關的問題。 對於CURRENCY控件,系統根據來自URL參數的語言採用正確的格式; US and DE ?sap-ui-language=DE
或?sap-ui-language=US
SAPUI5 - 數字格式本地化
對於具有type=Number
屬性輸入字段,始終使用DOT作爲小數分隔無論語言設置的。 有沒有解決這個問題的方法? 我有一個動態sap.ui.table填充(對於行和列),有些行有數字字段和一些行作爲文本字段,所以我從後端動態發送數據格式如下;
temp = new sap.m.Input(sColumnId + index,{ value:"{path: '" + sColumnId + "'}" , type:"{DATATYPE}", textAlign:"Right", liveChange:[handle_livechange,this], change:[handle_change, this] , editable:"{path:'EDITABLE', type:'sap.ui.model.odata.type.String'}" }
由於某些行是基於文本的,我不能像以下那樣硬編碼格式化程序;
type:'sap.ui.model.type.Float', formatOptions : { groupingEnabled: true, groupingSeparator: '.', decimalSeparator : ',', minFractionDigits: 2}}"
我試過自定義格式化程序,但不知何故在動態表格上找不到我的格式程序功能。 我嘗試onChange方法來動態格式化,但在這種情況下,我的JavaScript計算不起作用。
如果我可以通過表達式綁定來控制基於行值的格式化選項,它也將解決我的問題,但下面的代碼不起作用。
temp = new sap.m.Input(sColumnId + index,{ value:"{path: '" + sColumnId + ", =${DATATYPE} === 'Number' ? type:'sap.ui.model.type.Float', formatOptions : { groupingEnabled: true, groupingSeparator: '.', decimalSeparator : ',', minFractionDigits: 2} : type:'sap.ui.model.type.String' }"
哪些值後端可以在{DATATYPE}屬性中返回? –
這是eithet號碼或文本。這兩種格式都正常工作,但是當它是數字時,系統將小數點分隔符作爲DOT而不管語言設置如何 – bilen
爲什麼不簡單地使用它,如下所示:?這應該會自動採用區域設置來構建正確的分隔符。 –