【问题标题】:How to handle number format of OData Edm.Decimal in sapui5 correct?如何正确处理 sapui5 中 OData Edm.Decimal 的数字格式?
【发布时间】:2014-12-18 13:25:25
【问题描述】:

看起来 OData 将 Edm.Decimal 作为“字符串”发送,还包含小数点分隔符。

问题:OData 应该发送什么?总是相同的值(例如,带有“.”的分隔符)?

问题:如何将此数据绑定到具有自动区域设置处理的 SAPUI5 控件?

我已经在用了

new sap.ui.model.resource.ResourceModel({

但数字始终以点作为分隔符。

【问题讨论】:

  • 在我看来,除了使用字符串之外,您无法处理它。但很高兴找到解决方案。
  • 有什么办法可以避免使用手动实现的类型格式化程序?我希望 SAPUI5 可以根据使用的语言自动格式化值。在那种情况下,唯一要编程的应该是“这是一个浮点数”但不指定分隔符?我仍在搜索 SAPUI5 教育文件,但尚未找到任何解决方案:-/

标签: odata number-formatting sapui5


【解决方案1】:

我认为sap.ui.model.type.Float 实现中存在错误。 您可以使用该数据类型来格式化十进制值。

但是如果您尝试更改值并将其存储回来,数据将是浮点类型。但是对于 OData,它必须是一个字符串。

调试parserValue方法给了我提示:

case "string":
    iResult = this.oFormat.parse(oValue);
    ... error handling ...
    return iResult;

如果iResult 还不是字符串,则不会将其转换为字符串。您可以覆盖该方法并确保它会返回一个字符串。

【讨论】:

    猜你喜欢
    • 2015-07-08
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多