1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 保留小数点两位和千分位分隔符的使用

保留小数点两位和千分位分隔符的使用

时间:2022-11-03 08:14:29

相关推荐

保留小数点两位和千分位分隔符的使用

页面显示如下:

-------------------------------------------------

<%@ page contentType="text/html; charset=UTF-8"%><%@ taglib uri="/jsp/jstl/fmt" prefix="fmt"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><p style="color:blue">1.输入的数字会自动添加千分位分隔符,移出文本框之后会保留两位小数--利用以下两个JS来实现</p>请输入:<input type="text" id="count"/><hr><hr><p style="color:red">2.在JSP页面显示后台获取的double数据,要求保留两位小数,且添加千分位分隔符--使用fmt:formatNumber标签<br>假设从后台获取的值为100 100.5 10000000.65 <br>fmt标签的属性:<br>(1)groupingUsed 是否对数字分组 (TRUE 或 FALSE)<br> (2)minFractionDigits小数点后最小的位数</p><p><fmt:formatNumber groupingUsed="true" minFractionDigits="2">100</fmt:formatNumber></p><p><fmt:formatNumber groupingUsed="true" minFractionDigits="2">100.5</fmt:formatNumber></p><p><fmt:formatNumber groupingUsed="true" minFractionDigits="2">10000000.65</fmt:formatNumber></p><hr><hr><p style="color:#228B22">3.获取后台数据后,也可以通过JS写入页面<br>其中a=32000000.5是一个string类型 b=32000000.5是一个number类型</p><button type="button" οnclick="getMsg()">获取数据</button><br>获取到的数据a:<input type="text" id="msg1"/>获取到的数据b:<input type="text" id="msg2"/></body><%String basePath = request.getContextPath();%><script type="text/javascript" src="<%=basePath%>/js/jquery-1.9.1.min.js"></script><script type="text/javascript">var a = "32000000.5";//string类型var b = 32000000.5;//number类型//将a和b写入文本框function getMsg(){$("#msg1").val(toDoubleThousands(a));$("#msg2").val(toDoubleThousands(b));}//保留两位小数以及千分位的分隔符function toDoubleThousands(num) {//可以传入number或者string//判断是否有小数点var s = num.toString().indexOf(".");if(s == -1){//是整数return (num || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')+".00";}else{//是小数var arr = num.toString().split(".");if(arr.length > 1 && arr[1].length < 2){//一位小数return (arr[0] || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') + "." + arr[1] + "0";}else{//两位小数return (arr[0] || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') + "." + arr[1];}}}//千分位的分隔符function toThousands(num) {//此时传入的是字符串,若传入double类型则会indexOf报错//若没有任何数据则直接返回if(num == "" || num == null){return num;}else{//判断是否有小数点var s = num.indexOf(".");if(s == -1){//是整数return (num || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,');}else{var arr = num.split(".");return (arr[0] || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') + "." + arr[1];}}}//小数点的校验$(function(){//当按下按键时触发keyup事件$("#count").on('keyup', function (event) {var $amountInput = $(this);//响应鼠标事件,允许左右方向键移动 event = window.event || event;if (event.keyCode == 37 | event.keyCode == 39) {return;}//先把非数字的都替换掉,除了数字和. var temp = $amountInput.val().replace(/[^\d.]/g, "").//只允许一个小数点 replace(/^\./g, "").replace(/\.{2,}/g, ".").//只能输入小数点后两位replace(".", "$#$").replace(/\./g, "").replace("$#$", ".").replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');//添加分隔符$amountInput.val(toThousands(temp));});//鼠标移出事件--保留两位小数$("#count").on('blur', function () {var $amountInput = $(this);//最后一位是小数点的话,移除$amountInput.val(($amountInput.val().replace(/\.$/g, "")));//保留两位小数var s = $amountInput.val();var arr = s.split(".");if(s == ""){$amountInput.val("0.00");return;}else if(arr.length == 1){//没有小数点$amountInput.val(s + ".00");return;}else if(arr.length > 1 && arr[1].length < 2){//有小数点$amountInput.val(s + "0");return;}});}); </script></html>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。