Fiori Globalization实现的一个具体例子 - 关于数字显示格式的处理

版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://blog.csdn.net/i042416/article/details/89706114

This issue is copied from one of Jerry’s workshop regarding Fiori Globalization implementation.
You might observe the same number value but displayed with different format if you log on the same system with different user.

clipboard1

The user with Decimal Notation setting " " will see the format “1.880,00” and setting “Y” will see “1 880,00”. What has happened under the hood?

clipboard2

clipboard3

If you monitor the network tab in Chrome development tool when Fiori launchpad is initialized for the very beginning, you can find the http request below:

clipboard4

The response contains the Defaults user setting stored in ABAP backend. The attribute “numberFormat” is related to the number format being displayed.

clipboard5

In Configuration.js, the corresponding enumeration variable is defined for each type of number format.

clipboard6

扫描二维码关注公众号,回复: 6071570 查看本文章

The main logic for number format is implemented in file NumberFormat.js. As the variable name has already given a good hint, the integer part and fraction part of 1880.00 are parsed and stored into the two variables separately.

clipboard7

The logic of the following code:
Since a number is displayed as several groups and each group consists of THREE digits, so in code 627, the position of group is calculated by MOD operation against 3.
For user setting “Y”, the group separator character is " " and decimal separator is “,” , stored in corresponding attribute in variable oOptions.

clipboard8

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

猜你喜欢

转载自blog.csdn.net/i042416/article/details/89706114
今日推荐