js 中数字小数点末尾的0显示与否
js 中数字小数点末尾的0显示与否
- 不显示0
- 显示0(数字格式化)
不显示0
我们先来看一道例题,然后围绕其展开“零”的讨论:
问题:得到一个随机数组成的数组,数组长度为10
结果类似于:[0.243, 0.162, 0.701, 0.501…]
// 此处封装了一个获取随机数的函数,由于Math.floor()能获取min,无法获取max
function getRandom(min, max) {return Math.floor(Math.random() * (max - min)) + min;
}//创建一个长度为10的数组,且每个元素为空
const arr = Array(10).fill();
console.log(arr);
输出(为了展示效果,下面均是在browser环境进行调试;另外在Node.js环境下也成功调试,此处未展示):
由于Math.random().toFixed(3)
得到的是字符串,此处通过Number()
转换为number
类型
//下面的代码均在开篇创建的arr数组上进行调试
const newArr = arr.map(function (item) {return Number(Math.random().toFixed(3));
});
console.log(newArr);
输出:
此处是通过parseFloat
进行string
类型转换为number
类型
const newArr = arr.map(function (item) {return parseFloat(Math.random().toFixed(3));
});
console.log(newArr);
输出:
下面使用了文章开头处封装的随机数获取函数
const newArr = arr.map(function (item) {return getRandom(100,1000)/1000;//获取0~1之间的数,等同于Math.floor()});
console.log(newArr);
输出:
小结:上面三种方法最终获取的数字都是number
类型(都省略了末尾的0);由此可以看出,想得到保留小数点末尾0的数字,只能将其数字格式化。
显示0(数字格式化)
下面是通过格式化方法显示小数点末尾末尾的0 ,最终获取的数字是string
类型
/*** 格式化数字,保留小数点后末尾的0* @param {Number} value 需要格式化的小数* @param {Number} fixed 需要显示的小数位数* @param {String} return 返回的格式化小数*/
function formatNumberShowZero(value, fixed) {const num = parseFloat(value);if (isNaN(num)) return "";else return num.toFixed(fixed || 2);
}console.log(formatNumberShowZero("fsf"));//
console.log(formatNumberShowZero("3323.540000", 3));// 3323.540
console.log(formatNumberShowZero("32ff"));//32.00
console.log(typeof formatNumberShowZero("764.4230"))//string
输出:
上面部分API
在MDN
快速查找:
Math.random()
Array.prototype.fill()
Array.prototype.map()
Number.prototype.toFixed()
parseFloat()
注:本人第一次发表文章,若有用词不当或其它错误之处,请各位指出,私信必回!!!
js 中数字小数点末尾的0显示与否相关推荐
- js中表达式 >>> 0 是什么意思
在开发时,看见一个统计中使用了 >>> 表达式 代码如下 <el-table-column prop="planFunds" min-width=" ...
- 解决js中数字相减为负数的情况
function loadSumInfo() { $.get('sumInfo', { houseBillNo : $('#houseBillNo').val() }, ...
- js中数字直接点方法会报错,如1.toString()
Number(11).toString() "11" var num = 111; undefined num.toString() "111" 111.toS ...
- js中图片加载失败,显示默认图片
js处理img标签加载图片失败,显示默认图片 1.第一种方法: 如果已经引入了jquery插件,就很好办.没有的话,如果实在需要,可以附上代码: $('img').error(function(){$ ...
- js中使用slice进行补0日期和时间
<!DOCTYPE html> <html> <head><title>日期时钟</title><meta charset=" ...
- 在python中,小数点前的0可以省略不写...
语句: a = .6 运行后,变量a的值如下:
- 为什么JS中0.1+0.2 != 0.3
为什么JS中0.1+0.2 != 0.3 在我曾经的一篇< javascript入门教程 (2) >中,讲到JS中数字运算时,我们提到过一个叫做 数字运算中的精度缺失的问题,当时我们只是简 ...
- JS中关于0.1+0.2 !==0.3 和0.1+0.7!==0.8的问题
** JS中关于0.1+0.2 !==0.3 和0.1+0.7!==0.8的问题 ** 在js中,0.1+0.2不会等于0.3,而是等于: 在js中,0.1+0.7不会等于0.8,而是等于: JS中数 ...
- js中浮点数运算精度问题
在js中,我们有时会遇到计算,通过加减乘除处理某些业务.那么这时候如果不做任何处理,就会出现如下典型的精度丢失问题. console.log(0.1 + 0.2) ; // 0.30000000000 ...
最新文章
- 3 weekend110的hadoop中的RPC框架实现机制 + hadoop中的RPC应用实例demo
- 【直播课】有三AI直播答疑服务上线,如何学习计算机视觉与准备面试直播限时免费...
- Node --- EventProxy的原理
- jcmd:一个可以全部统治的JDK命令行工具
- 根据一个属性,剔除 Json 中重复元素(删除 JSON 中重复的部分)
- POJ1273 Drainage Ditches(最大流基础题)
- Spring MVC Interceptor Handler InterceptorAdapter HandlerInterceptor示例
- LeetCode —— 60. 第k个排列(Python3)
- Springboot2 搭建 高性能Websocket服务器
- cuSPARSE库:(十一)cusparseCreateSolveAnalysisInfo()
- 力扣Java编译器_力扣(LeetCode)位1的个数 个人题解
- php 股票历史api接口,新浪股票接口获取历史数据
- 社会网络分析法SNA
- 电阻式触摸屏的工作原理
- als算法参数_ALS算法
- GooglePlay内购服务器验单配置
- 50条有趣的Python一行代码
- 大明宫发动机和个人的考虑发达国家
- 01-旭日X3派测评——开箱测试系统烧写性能初测
- WIN10系统CH340驱动预安装成功,但是设备显示器中的端口不能显示CH340驱动