2

目前我正在使用 NumberFormat 类格式化浮点值,formatOptions 为:

formatOptions: {
  style : 'short', 
  shortDecimals: 1
}

https://sapui5.netweaver.ondemand.com/docs/api/symbols/sap.ui.core.format.NumberFormat.html

因此,使用我拥有的当前格式化程序将值 5,000,000 显示为 5.0 M。

我想知道是否有一种简单的方法使用格式化程序将所有值强制转换为任何其他面额(例如可能是数千个)。

即 5 M 应格式化为 5000 K。

4

1 回答 1

2

不,没有微不足道的方法。'short' 是一种特殊的 CLDR 编号模式。面额在本地化中配置: 是每种语言中每个量级的条目。因此,您必须更改您的语言(可能也适用于其他语言)的本地化数据,或者创建一种新语言并将其用于您的NumberFormat.

如果您想要固定面额,我建议您使用自定义格式化函数或自定义数据类型。这是格式化程序函数的示例:

formatThousands:function(value){
   var numberFormat = NumberFormat.getFloatInstance({maxFractionDigits:1});
   var text = numberFormat.format(value/1000)+" K";
   return text;
}
于 2016-03-09T20:04:08.717 回答