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="1250003.350" />
<fmt:parseNumber var="i" type="number" value="${balance}" />
<p>ค่าที่แปลงแล้ว (1) : <c:out value="${i}" /></p>
<fmt:parseNumber var="i" integerOnly="true" type="number" value="${balance}" />
<p>ค่าที่แปลงแล้ว (2) : <c:out value="${i}" /></p>
</body>
</html>

ผลลัพธ์

การแปลงตัวเลข:
ค่าที่แปลงแล้ว (1) : 1250003.35
ค่าที่แปลงแล้ว (2) : 1250003

หมายเหตุ: เมื่อใช้ integerOnly="true" ส่วนทศนิยมจะถูกตัดทิ้ง ไม่ได้ปัดเศษ