Freemarker 字串型別數字格式化

2021-08-23 14:09:18 字數 2992 閱讀 1287

問題描述:

之前一直是用下面方式,進行數字格式化,然而這次出錯了

$
問題原因:

所要格式化的資料的資料型別有關係:

之前一直是double型別,這次的是string型別的數字了..

用下的方式先進行型別轉換,再進行格式化

$
freemarker 內建函式 數字、字串、日期格式化用法介紹

一、sequence的內建函式

1.sequence?first 返回sequence的第乙個值。

2.sequence?last 返回sequence的最後乙個值。

3.sequence?reverse 將sequence的現有順序反轉,即倒序排序

4.sequence?size 返回sequence的大小

5.sequence?sort 將sequence中的物件轉化為字串後順序排序

6.sequence?sort_by(value) 按sequence中物件的屬性value進行排序

注意:sequence不能為null

二、hash的內建函式

1. hash?keys 返回hash裡的所有key,返回結果為sequence

2. hash?values 返回hash裡的所有value,返回結果為sequence

例如:<#assign user=>

<#assign keys=user?keys>

<#list keys as key>

$=$#list>

三、操作字串函式

1. substring(start,end)從乙個字串中擷取子串

start:擷取子串開始的索引,start必須大於等於0,小於等於end

end: 擷取子串的長度,end必須大於等於0,小於等於字串長度,

如果省略該引數,預設為字串長度。

例子:$ 結果為str

$ 結果為tr

$ 結果為r

$ 結果為

$ 結果為

$ 結果為s

$ 結果為st

$ 結果為str

2. cap_first 將字串中的第乙個單詞的首字母變為大寫。

$ 結果為str

3. uncap_first將字串中的第乙個單詞的首字母變為小寫。

$ 結果為str

4. capitalize將字串中的所有單詞的首字母變為大寫

$ 結果為str

5.date,time,datetime將字串轉換為日期

例如:<#assign date1=」2009-10-12」?date(「yyyy-mm-dd」)>

<#assign date2=」9:28:20」?datetime(「hh:mm:ss」)>

<#assign date3=」 2009-10-12 9:28:20」?datetime(「hh:mm:ss」)>

$ 結果為2009-10-12

$ 結果為9:28:20

$ 結果為2009-10-12

9:28:20

注意:如果指定的字串格式不正確將引發錯誤。

6. ends_with 判斷某個字串是否由某個子串結尾,返回布林值。

$ 返回結果為true

注意:布林值必須轉換為字串才能輸出

7. html 用於將字串中的<、>、&和「替換為對應得<>":&

8. index_of(substring,start)在字串中查詢某個子串,

返回找到子串的第乙個字元的索引,

如果沒有找到子串,則返回-1。

start引數用於指定從字串的那個索引處開始搜尋,start為數字值。

如果start大於字串長度,則start取值等於字串長度,

如果start小於0, 則start取值為0。

$ 結果為6

10.lower_case將字串轉為小寫

$ 結果為string

11.upper_case將字串轉為大寫

$ 結果為string

12.contains 判斷字元中是否包含某個子串。返回布林值

$ 結果為true

注意:布林值必須轉換為字串才能輸出

13.number將字串轉換為數字

$ 結果為111.11

14.replace用於將字串中的一部分從左到右替換為另外的字串。

$ 結果為string

15.split使用指定的分隔符將乙個字串拆分為一組字串

<#list 「this|is|split」?split(「|」) as s>

$#list>

結果為:

this

issplit

16.trim 刪除字串首尾空格 $

結果為string

四、運算元字

1. c 用於將數字轉換為字串

$ 結果為123

2.string用於將數字轉換為字串

freemarker中預訂義了三種數字格式:number,currency(貨幣)和percent(百分比)

其中number為預設的數字格式轉換

例如:

<#assign tempnum=20>

$

$或$ 結果為20

$或$ 結果為¥20.00

$或$ 結果為2,000%

五、操作布林值

string 用於將布林值轉換為字串輸出

true轉為「true」,false轉換為「false」

foo?string(「yes」,」no」)如果布林值是true,那麼返回「yes」,否則返回no

Freemarker操作字串

1 substring start,end 從乙個字串中擷取子串 start 擷取子串開始的索引,start必須大於等於0,小於等於end end 擷取子串的長度,end必須大於等於0,小於等於字串長度,如果省略該引數,預設為字串長度。例子 結果為str 結果為tr 結果為r 結果為 結果為 結果為...

Freemarker操作字串

1 substring start,end 從乙個字串中擷取子串 start 擷取子串開始的索引,start必須大於等於0,小於等於end end 擷取子串的長度,end必須大於等於0,小於等於字串長度,如果省略該引數,預設為字串長度。例子 結果為str 結果為tr 結果為r 結果為 結果為 結果為...

freemarker操作字串(很常用)

1 substring start,end 從乙個字串中擷取子串 start 擷取子串開始的索引,start必須大於等於0,小於等於end end 擷取子串的長度,end必須大於等於0,小於等於字串長度,如果省略該引數,預設為字串長度。例子 結果為str 結果為tr 結果為r 結果為 結果為 結果為...