历史版本10 :本地化公式集合 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

设计器版本jar包版本插件版本
11.02022-03-28V1.0

1.2 应用场景

FineReport目前预设的函数无法很好地满足海外各区域地实际使用场景,为了让产品国际化实例更加全面、完善,新增本土化函式集合。

在本地函式优化集合 V1.2 中,针对已有公式 CNMONEY(传回金额大写)、LUNAR(传回当前日期对应的阴历时间)、FORMAT(传回object的format格式)、TODATEPRO(传回当前日期对应的公历时间)做了优化和功能扩展,应对不同地区的场景。效果如下图所示:

2. 插件介绍编辑

2.1 插件安装

点击下载插件:本地化公式集合

设计器插件安装方法参照:设计器插件管理

服务器安装插件方法参照:服务器插件管理

3. 函数说明编辑

3.1 ZHMONEY

实现 CNMONEY(返回金额大写)功能的同时,可以指定显示为简体或繁体。具体说明如下表所示。

函数名称
ZHMONEY(number, unit, locale)
参数

说明

number

必填,同CNMONEY中的number

需要转换的数值型的数

unit

选填,同CNMONEY中的unit

单位

"s","b","q","w","sw","bw","qw","y","sy","by","qy","wy"分别代表“拾”,“佰”,“仟”,“万”,“拾万”,“佰万”,“仟万”,“亿”,“拾亿”,“佰亿”,“仟亿”,“万亿”。

locale

选填,字符串类型的locale

如:zh, zh_TW

返回值

若locale为zh_TW,则返回繁体的大写数字。

如:

ZHMONEY(1234567890000.31) → 壹萬貳仟叁佰肆拾伍億陸仟柒佰捌拾玖萬圓叁角壹分

ZHMONEY(3.4567,"wy", "zh_TW") → 叁兆肆仟伍佰陸拾柒億圓整

3.2 ZHLUNAR

实现LUNAR(传回当前日期对应的阴历时间),可以指定显示为简体或繁体。具体说明如下表所示。

函数名称
ZHLUNAR(year, month, day, locale)

参数

说明

year

必填,同LUNAR中的year

month

必填,同LUNAR中的month

day

必填,同LUNAR中的day

locale

选填,字符串类型的locale

如:zh, zh_TW

返回值

若locale为zh_TW,则返回繁体的阴历日期,其他情况都返回简体的阴历日期。

E.g. ZHLUNAR(2020, 6, 4) → 庚子年閏四月十三

ZHLUNAR(2020, 6, 4, "zh_TW") → 庚子年閏四月十三

3.3 DATEFORMAT

DATAFORMAT函数可以将date类型按照模式、区域、历法三个参数转换为String。具体说明如下表所示。


函数名称
DATEFORMAT(date, pattern, locale, chronology)

参数

说明

date

必填,Date类型的参数,可以通过FR中的DATE和TIME公式获取

pattern

必填,用于指定日期格式化后的样式

E.g. GGGGYYYY-MM-dd, EEEE, hh:mm:ssa

参考:https://help.gooddata.com/cloudconnect/manual/date-and-time-format.html

locale

选填,字符串类型的locale

如:zh, zh_TW, en_US,ja_JP

chronology

选填,指定历法

"j"表示日本年号,"m"表示台湾民国历,"t"表示泰国佛历

返回值

DATEFORMAT(TODAY(), "YYYY-MM-dd HH:mm:ss") → 2021-11-08 00:00:00

DATEFORMAT(TODAY(), "YYYY-MM-dd, EEEE", "zh_TW") → 2021-11-08, 星期一

DATEFORMAT(TODAY(), "YYYY-MM-dd, EEEE", "en_US") → 2021-11-08, Monday

DATEFORMAT(TODAY(), "GGGGyy-MM-dd, EEEE", "ja_JP", "j") → 令和03-11-08, 月曜日(注意:需要保证JDK版本为Oracle JDK 7u221, 8u211, 11.0.3或OpenJDK 7u221, 8u212-b03, 11.0.3+7等版本之后才会正常显示“令和”年号)

DATEFORMAT(TODAY(), "GGyyy-MM-dd, EEEE", "zh_TW", "m") → 民國110-11-08, 星期一

3.4 TODATEPRO

TODATEPRO函式可以将民国历、日本年号及泰国佛历的日期转换为yyyy-MM-dd形式、date格式的公历。具体说明如下表所示。

函式名称
TODATEPRO(date, pattern, chronology, locale)

参数

说明

date

需要被转换的日期物件,需要为字串格式

pattern

原日期物件的日期格式

locale

选填,locale表示语种

如:“zh”表示“简体”,“zh_TW”表示“繁体”,“en_US”表示“英语”,“ja_JP”表示“日语”

注:locale 可以为空,如果为空,预设显示简体的西元日期

chronology

选填,指定历法。

"j"表示日本年号,"m"表示台湾民国历,"t"表示泰国佛历

注:chronology 可以为空,如果为空,预设显示西元日期

传回值

TODATEPRO("民國111-07-01", "GGyyy-MM-dd", "m", "zh_TW") => 2022-07-01

TODATEPRO("平成21年12月01日, 火曜日", "Gy年MM月dd日, EEEE", "j", "ja_JP") => 2009-12-01

TODATEPRO("2566/09/21", "yyyy/MM/dd", "t") => 2023-09-21

4. 示例编辑

4.1 报表设计

函式示例

=ZHMONEY(3.45,"w","zh_TW")

=ZHLUNAR(2020, 6, 4, "zh_TW")
=DATEFORMAT(TODAY(),"YYYY-MM-dd EEEE")
=DATEFORMAT(TODAY(),"GGyyy-MM-dd, EEEE","zh_TW","m")
=DATEFORMAT(TODAY(),"GGGGyy-MM-dd, EEEE","ja_JP","j")
=DATEFORMAT(TODAY(),"YYYY-MM-dd, EEEE","en_US")
=DATEFORMAT(TODAY(),"YYYY-MM-dd, EEEE","en_US","t")
=TODATEPRO("民國112-11-15", "GGyyy-MM-dd", "m", "zh_TW")
=TODATEPRO("平成35年11月15日, 水曜日", "Gy年MM月dd日, EEEE", "j", "ja_JP")
=TODATEPRO("2566/11/15", "yyyy/MM/dd", "t")

4.2 效果预览

点击保存,预览效果如下图所示:


5. 模板下载编辑

点击下载模板:本地化公式集合.cpt