大家好,又见面了,我是你们的朋友全栈君。
js保留小数点后N位的方法介绍
利用toFixed函数
代码如下 复制代码
document.write(“
“);
var a=2.1512131231231321;
document.write(“原来的值:”+a+” “);
document.write(“两位小数点:”+a.toFixed(2)+” 四位小数点”+a.toFixed(4));
四舍五入的转换函数,如下:
代码如下 复制代码
function round(v,e){
var t=1;
for(;e>0;t*=10,e–);
for(;e<0;t/=10,e++);
return Math.round(v*t)/t;
}
参数里的:
v表示要转换的值
e表示要保留的位数
函数里的两个for,这个是重点了,
第一个for针对小数点右边的情况,也就是保留小数点右边多少位;
第二个for针对小数点左边的情况,也就是保留小数点左边多少位。
for的作用,就是计算t的值,也就是v应该放大或者缩小多少倍的倍数(倍数=t)。
for这里利用到了for里的两个特性,条件判断和计数器累计(循环),
当e满足条件时for继续,并且e每次累加(e的每次累加,就是给for制造不满足循环的条件)的同时,也计算t的值。
最后利用了原生的round方法来计算被放大/缩小后的v的结果,然后把结果放大/缩小到正确的倍数
下面各种保留二位数实例
代码如下 复制代码
//保留两位小数
//功能:将浮点数四舍五入,取小数点后2位
function toDecimal(x) {
var f = parseFloat(x);
if (isNaN(f)) {
return;
}
f = Math.round(x*100)/100;
return f;
}
//制保留2位小数,如:2,会在2后面补上00.即2.00
function toDecimal2(x) {
var f = parseFloat(x);
if (isNaN(f)) {
return false;
}
var f = Math.round(x*100)/100;
var s = f.toString();
var rs = s.indexOf(‘.’);
if (rs < 0) {
rs = s.length;
(www.111cn.net) s += ‘.’;
}
while (s.length <= rs + 2) {
s += ‘0’;
}
return s;
}
function fomatFloat(src,pos){
return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos);
}
//四舍五入
alert(“保留2位小数:” + toDecimal(3.14159267));
alert(“强制保留2位小数:” + toDecimal2(3.14159267));
alert(“保留2位小数:” + toDecimal(3.14559267));
alert(“强制保留2位小数:” + toDecimal2(3.15159267));
alert(“保留2位小数:” + fomatFloat(3.14559267, 2));
alert(“保留1位小数:” + fomatFloat(3.15159267, 1));
//五舍六入
alert(“保留2位小数:” + 1000.003.toFixed(2));
alert(“保留1位小数:” + 1000.08.toFixed(1));
alert(“保留1位小数:” + 1000.04.toFixed(1));
alert(“保留1位小数:” + 1000.05.toFixed(1));
//科学计数
alert(3.1415.toExponential(2));
alert(3.1455.toExponential(2));
alert(3.1445.toExponential(2));
alert(3.1465.toExponential(2));
alert(3.1665.toExponential(1));
//精确到n位,不含n位
alert(“精确到小数点第2位” + 3.1415.toPrecision(2));
alert(“精确到小数点第3位” + 3.1465.toPrecision(3));
alert(“精确到小数点第2位” + 3.1415.toPrecision(2));
alert(“精确到小数点第2位” + 3.1455.toPrecision(2));
alert(“精确到小数点第5位” + 3.141592679287.toPrecision(5));
实现js保留小数点后N位的代码
在JS中,一般实现保留小数点后N位的话,都是利用toFixed函数
C# 保留小数点后两位(方法总结)
最简单使用: float i=1.6667f; string show=i.ToString(“0.00”); //结果1.67(四舍五入) 其他类似方法: string show …
取小数点后三位的方法(js)
使用js取小数点后三位的方法,我觉得这个方法最好 Math.round(num*100)/100 还有其他方法: http://hi.baidu.com/yansueh/item/f026d8d759 …
JAVA除法保留小数点后两位的两种方法 Java Math的 floor,round和ceil的总结
floor 返回不大于的最大整数 round 则是4舍5入的计算,入的时候是到大于它的整数round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下 …
Js 和 PHP 中保留小数点后X位数的方法 toFixed、round、number_format、sprintf
在 Javacript 中保留小数点后两位数的方法为 toFixed(2),其中的2为保留两位,写多少就保留多少了,满5进1. Javacript例子: var num = 24.54789523; …
关于Oracle中查询的数字值的显示格式需要保留小数点后两位(或者三位,及其他位数)
关于Oracle中查询的数字值的显示格式需要保留小数点后两位(或者三位,及其… 方法一:使用to_char的fm格式,即: to_char(round(data.amount,2),’FM9999 …
input内强制保留小数点后两位 位数不足时自动补0
input内强制保留小数点后两位 位数不足时自动补0 小数点后位数超出2位时进行四舍五入 需引入jquery包 1.11.2版本 1 function xiaoshu(x) 2 { 3 var f = …
js截取小数点后几位的写法
截取小数点后几位的方法有很多,下面为大家介绍下使用js是如何实现的 如果${showInfo.tt}的值为20,要要它除以10以后精确到小数点后2位,那么js代码中可作如下写法: 复制代码 代码如下 …
Javascript 智能输入数字且保留小数点后三位
html:
随机推荐
old header
海纳百川 山不拒土 No Backspace in Real Life. Love Life![Cloud][LBS][GIS][GPS][MAPS][C++][Java]
checkbox判断选中
$(“input[type=’checkbox’]”).is(‘:checked’)
HDU 1159 Common Subsequence
HDU 1159 题目大意:给定两个字符串,求他们的最长公共子序列的长度 解题思路:设字符串 a = “a0,a1,a2,a3…am-1″(长度为m), b = “b …
图片预加载之模拟img.load()
function imgBatchLoad(){ var instance = this; this.loadCount = 0; this.images = []; this.imgCount = …
【Android源码解析】View.post()到底干了啥
emmm,大伙都知道,子线程是不能进行 UI 操作的,或者很多场景下,一些操作需要延迟执行,这些都可以通过 Handler 来解决.但说实话,实在是太懒了,总感觉写 Handler 太麻烦了,一不小心 …
Mysql锁机制–索引失效导致行锁变表锁
Mysql 系列文章主页 =============== Tips:在阅读本文前,最好先阅读 这篇(Mysql锁机制–行锁)文章~ 在上篇文章中,我们看到InnoDB默认的行锁可以使得操作不同行时不 …
Linux性能评估工具
目录 介绍 负载:uptime 查看内核的信息: dmesg 查看内存状态: free.vmstat free: 查看内存,已用内存,剩余内存.交换分区等 vmstat:显示虚拟内存状况的信息. 查看 …
Docker构建Java web应用服务
1.构建一个Java应用服务,包含两个步骤:a.一个镜像从URL拉取指定的WAR文件并保存到卷里b.一个含有Tomcat服务器的镜像运行这些下载的WAR文件 2.构建下载WAR的镜像 FROM cen …
乐字节-Java8新特性之Date API
上一篇文章,小乐给大家带来了Java8新特性之Optional,接下来本文将会给大家介绍Java8新特性之Date API 前言: Java 8通过发布新的Date-Time API来进一步加强对日期 …
MongoDB limit 选取 skip跳过 sort排序 方法
MongoDB limit 选取 skip跳过 sort排序 在mysql里有order by MongoDB用sort代替order by > db.user.find() { " …
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/129293.html原文链接:https://javaforall.cn