Formatting 使用sap.ui.core.format.NumberFormat将所有值格式化为数千

Formatting 使用sap.ui.core.format.NumberFormat将所有值格式化为数千,formatting,sapui5,number-formatting,sap-fiori,Formatting,Sapui5,Number Formatting,Sap Fiori,目前,我正在使用NumberFormat类格式化浮点值,formatOptions为: formatOptions: { style : 'short', shortDecimals: 1 } 因此,使用当前的格式化程序,5000000的值显示为5.0 M 我想知道是否有一种简单的方法可以使用格式化程序将所有值强制转换为任何其他面额(例如,可能是数千) i、 e5 M的格式应为5000k。不,没有简单的方法。命名在本地化中配置:是每种语言中每种量级的条目。因此,您必须更改您的语言(

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

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

因此,使用当前的格式化程序,5000000的值显示为5.0 M

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


i、 e5 M的格式应为5000k。

不,没有简单的方法。命名在本地化中配置:是每种语言中每种量级的条目。因此,您必须更改您的语言(可能还有其他语言)的本地化数据,或者创建一种新的语言并将其用于您的
NumberFormat

如果你想有一个固定的面额,我建议使用一个自定义的格式化程序函数或自定义的数据类型。格式化程序函数的定义:

格式:函数(值){
var numberFormat=numberFormat.getFloatInstance({maxFractionDigits:1});
var text=numberFormat.format(值/1000)+“K”;
返回文本;
}

你能不能
返回numberFormat.format(value/1000)+“K”
删除无关变量
text
?当然可以用这种方式缩短它。我还建议将numberFormat升级为控制器的成员,创建一次,并出于性能原因在格式化程序中重用它。