Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

วิธีแปลงเปอร์เซ็นต์ใน JSP ด้วย JSTL fmt:parseNumber


แท็ก <fmt:parseNumber> ใช้สำหรับแปลงข้อความที่เป็น ตัวเลข, เปอร์เซ็นต์ และ สกุลเงิน ให้กลายเป็นค่าตัวเลขที่ใช้งานได้ใน JSP

แอตทริบิวต์ของ <fmt:parseNumber>

ตารางด้านล่างแสดงแอตทริบิวต์ทั้งหมดที่รองรับ:

แอตทริบิวต์ คำอธิบาย จำเป็น ค่าเริ่มต้น
value ค่าตัวเลขที่ต้องการแปลง (อ่านจาก body หากไม่ระบุ) ไม่ Body
type ประเภทข้อมูล: NUMBER, CURRENCY, หรือ PERCENT ไม่ number
parseLocale Locale ที่ใช้ในการแปลงตัวเลข ไม่ Default locale
integerOnly แปลงเป็นจำนวนเต็ม (true) หรือทศนิยม (false) ไม่ false
pattern รูปแบบการแปลงแบบกำหนดเอง ไม่ None
timeZone โซนเวลา (ไม่เกี่ยวข้องกับการแปลงตัวเลขโดยตรง) ไม่ Default time zone
var ชื่อตัวแปรสำหรับเก็บค่าที่แปลงแล้ว ไม่ Print to page
scope ขอบเขตของตัวแปร (page, request, session, application) ไม่ page

แอตทริบิวต์ pattern ทำงานคล้ายกับ <fmt:formatNumber> แต่ในกรณีการแปลง (parsing) จะบอก parser ว่าคาดหวังรูปแบบไหน

ตัวอย่างการใช้งาน

<%@ taglib prefix="c" uri="https://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="https://java.sun.com/jsp/jstl/fmt" %>
<html>
<head>
<title>JSTL fmt:parseNumber Tag - แปลงเปอร์เซ็นต์</title>
</head>
<body>
<h3>การแปลงเปอร์เซ็นต์:</h3>
<c:set var="balance" value="125.350%" />
<fmt:parseNumber var="i" type="PERCENT" value="${balance}" />
<p>ค่าที่แปลงแล้ว (1) : <c:out value="${i}" /></p>
<fmt:parseNumber var="i" integerOnly="true" type="PERCENT" value="${balance}" />
<p>ค่าที่แปลงแล้ว (2) : <c:out value="${i}" /></p>
</body>
</html>

ผลลัพธ์

การแปลงเปอร์เซ็นต์:
ค่าที่แปลงแล้ว (1) : 1.2535
ค่าที่แปลงแล้ว (2) : 1

หมายเหตุ: ค่าเปอร์เซ็นต์ "125.350%" จะถูกแปลงเป็น 1.2535 (หาร 100) และเมื่อใช้ integerOnly="true" จะได้ 1