Thymeleafオブジェクトの使用:デジタルオブジェクト

Thymeleafは、主にorg.thymeleaf.expression.Numbersクラスを使用して数値を処理し、テンプレート内の#numbersオブジェクトを使用して数値を処理します。

開発環境:IntelliJ IDEA 2019.2.2
Spring Bootバージョン:2.1.8

demoという名前の新しいSpringBootプロジェクトを作成します。
Thymeleafの依存関係をpom.xmlに追加します。

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

1つの整数フォーマット

4つの方法があります:
(1)formatInteger(number、digits) 
最初のパラメーターは単一の数値です。小数点がある場合は切り上げられ、2番目のパラメーターは最小の整数桁に設定されます。十分ではなく、0で埋められます(以下と同じ)
(2)ArrayFormatInteger(numbers、digits)が 
配列に渡され、処理された配列が返されます
(3)listFormatInteger(numbers、digits)がに 
渡されますリスト、処理されたリストが返されます
(4)setFormatInteger(numbers、digits)が
Setに渡され、処理された配列が返されます。Set の最後の
4つのメソッドは、3番目のパラメーターを渡すためのオーバーロードされたメソッドがあります。千の区切り記号を識別し
ます
。POINT:「。」を使用します。COMMA:「、」を
使用します。WHITESPACE:「」(スペース)を使用します。NONE:
区切りを使用しません。文字
DEFAULT:ロケールオブジェクトに従って決定されます。

1、src / main / resources / templates / integer.html

formatInteger(number,digits)
<div th:text="${#numbers.formatInteger(10,0)}"></div>
<div th:text="${#numbers.formatInteger(10.6,2)}"></div>
<div th:text="${#numbers.formatInteger(10.6,5)}"></div>
<div th:text="${#numbers.formatInteger(10.50,0)}"></div>
<div th:text="${#numbers.formatInteger(10.51,2)}"></div>
<div th:text="${#numbers.formatInteger(10000000,0,'COMMA')}"></div>
<div th:text="${#numbers.formatInteger(10000000,0,'POINT')}"></div>

arrayFormatInteger(numbers,digits)
<div th:each="num : ${#numbers.arrayFormatInteger(arr,0)}">
    <div th:text="${num}"></div>
</div>
listFormatInteger(numbers,digits)
<div th:each="num : ${#numbers.listFormatInteger(list,2)}">
    <div th:text="${num}"></div>
</div>
setFormatInteger(numbers,digits)
<div th:each="num : ${#numbers.setFormatInteger(set,4)}">
    <div th:text="${num}"></div>
</div>

2、src / main / java / com / example / demo / IntegerController.java

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

@Controller
public class IntegerController {
    @RequestMapping("/integer")
    public String integer(Model model){
        Double[] arr = new Double[]{10D, 10.9};
        List list = Arrays.asList(arr);
        Set set = new HashSet(list);
        model.addAttribute("arr", arr);
        model.addAttribute("list", list);
        model.addAttribute("set", set);
        return "integer";
    }
}

ブラウザアクセス:http:// localhost:8080 / integer
ページの出力:

formatInteger(number,digits)
11
10
10,000,000
10.000.000
arrayFormatInteger(numbers,digits)
11
listFormatInteger(numbers,digits)
11
setFormatInteger(numbers,digits)
0011

第二に、10進形式

4つのメソッドもあります。
(1)formatDecimal(number、intDig、decDig) 
最初のパラメーターは単一の数値であり、2番目のパラメーターは整数の最小桁数を設定し(十分でない場合は0で埋められます)、 3番目のパラメーターは小数点以下の桁数を設定します
(2)arrayFormatDecimal(numArray、intDig、decDig)が 
配列に渡され、処理された配列が返されます
(3)listFormatDecimal(numList、intDig、decDig)が 
リストに渡され、処理されますリストが返されます
(4)setFormatDecimal(numSet、intDig、decDig)が 
Setに渡され、処理されたSetに返され
ます。これら4つのメソッドには2つのオーバーロードされたメソッドがあります。例としてformatDecimalを取り上げます。
(a)formatDecimal(number、intDig 、decDig、decPoint)
decPointは、小数点として使用される記号を表します。値はPOINT、COMMA、WHITESPACE、NONE、およびDEFAULTです。
(b)formatDecimal(number、intDig、separator、decDig、decPoint)
セパレーターは、千のセパレーターとして使用される記号を示し、値はPOINT、COMMA、WHITESPACE、NONE、およびDEFAULTでもあります。

1、src / main / resources /テンプレート/decimal.html

<div th:text="${#numbers.formatDecimal(10, 0, 0)}"></div>
<div th:text="${#numbers.formatDecimal(10.6, 0, 2)}"></div>
<div th:text="${#numbers.formatDecimal(10.6, 5, 2)}"></div>
<div th:text="${#numbers.formatDecimal(10000000, 0, 2, 'COMMA')}"></div>
<div th:text="${#numbers.formatDecimal(10000000, 2, 2, 'POINT')}"></div>
<div th:text="${#numbers.formatDecimal(10000000, 2, 'POINT', 2, 'POINT')}"></div>

2、src / main / java / com / example / demo / DecimalController.java

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class DecimalController {
    @RequestMapping("/decimal")
    public String decimal(){
        return "decimal";
    }
}

ブラウザアクセス:http:// localhost:8080/10進
ページ出力:

10
10.60
00010.60
10000000,00
10000000.00
10.000.000.00

3、パーセンテージフォーマット

小数の書式設定と同様に、4つのメソッドもあります。その中で
formatPercent(number、intDig、decDig)を使用して単一の数値を処理し
ます。 最初のパラメーターは単一の数値で、2番目のパラメーターは最小の数値に設定されます。整数の(十分でない場合は0が追加されます)、3番目のパラメーターは小数点以下の桁数を保持するように設定されます

1、src / main / resources / templates / percent.html

<div th:text="${#numbers.formatPercent(0.123, 0, 2)}"></div>
<div th:text="${#numbers.formatPercent(0.123, 5, 2)}"></div>

2、src / main / java / com / example / demo / PercentController.java

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class PercentController {
    @RequestMapping("/percent")
    public String percent(){
        return "percent";
    }
}

ブラウザアクセス:http:// localhost:8080 /パーセント
ページ出力:

12.30%
00,012.30%

四、シーケンス法

sequenceメソッドは整数配列を返します。
(1)sequence(from、to)
は、開始値と終了値を設定します。fromがtoより大きい場合、デフォルトのステップは1で、それ以外の場合は-1です。
(2)シーケンス(from、to、step)
は、開始値と終了値、およびステップ長を設定します。

1、src / main / resources / templates / sequence.html

<div th:each="num : ${#numbers.sequence(0,3)}">
    <div th:text="${num}"></div>
</div>
----------
<div th:each="num : ${#numbers.sequence(5,1)}">
    <div th:text="${num}"></div>
</div>

2、src / main / java / com / example / demo / SequenceController.java

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class SequenceController {
    @RequestMapping("/sequence")
    public String sequence(){
        return "sequence";
    }
}

ブラウザアクセス:http:// localhost:8080 /パーセント
ページ出力:

1
3
----------
4
2

 

おすすめ

転載: blog.csdn.net/gdjlc/article/details/102528509