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

输出:

上面部分APIMDN快速查找:

Math.random()

Array.prototype.fill()

Array.prototype.map()

Number.prototype.toFixed()

parseFloat()

注:本人第一次发表文章,若有用词不当或其它错误之处,请各位指出,私信必回!!!

js 中数字小数点末尾的0显示与否相关推荐

  1. js中表达式 >>> 0 是什么意思

    在开发时,看见一个统计中使用了 >>> 表达式 代码如下 <el-table-column prop="planFunds" min-width=" ...

  2. 解决js中数字相减为负数的情况

    function loadSumInfo() {   $.get('sumInfo', {         houseBillNo : $('#houseBillNo').val()       }, ...

  3. js中数字直接点方法会报错,如1.toString()

    Number(11).toString() "11" var num = 111; undefined num.toString() "111" 111.toS ...

  4. js中图片加载失败,显示默认图片

    js处理img标签加载图片失败,显示默认图片 1.第一种方法: 如果已经引入了jquery插件,就很好办.没有的话,如果实在需要,可以附上代码: $('img').error(function(){$ ...

  5. js中使用slice进行补0日期和时间

    <!DOCTYPE html> <html> <head><title>日期时钟</title><meta charset=" ...

  6. 在python中,小数点前的0可以省略不写...

    语句: a = .6 运行后,变量a的值如下:

  7. 为什么JS中0.1+0.2 != 0.3

    为什么JS中0.1+0.2 != 0.3 在我曾经的一篇< javascript入门教程 (2) >中,讲到JS中数字运算时,我们提到过一个叫做 数字运算中的精度缺失的问题,当时我们只是简 ...

  8. 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中数 ...

  9. js中浮点数运算精度问题

    在js中,我们有时会遇到计算,通过加减乘除处理某些业务.那么这时候如果不做任何处理,就会出现如下典型的精度丢失问题. console.log(0.1 + 0.2) ; // 0.30000000000 ...

最新文章

  1. 3 weekend110的hadoop中的RPC框架实现机制 + hadoop中的RPC应用实例demo
  2. 【直播课】有三AI直播答疑服务上线,如何学习计算机视觉与准备面试直播限时免费...
  3. Node --- EventProxy的原理
  4. jcmd:一个可以全部统治的JDK命令行工具
  5. 根据一个属性,剔除 Json 中重复元素(删除 JSON 中重复的部分)
  6. POJ1273 Drainage Ditches(最大流基础题)
  7. Spring MVC Interceptor Handler InterceptorAdapter HandlerInterceptor示例
  8. LeetCode —— 60. 第k个排列(Python3)
  9. Springboot2 搭建 高性能Websocket服务器
  10. cuSPARSE库:(十一)cusparseCreateSolveAnalysisInfo()
  11. 力扣Java编译器_力扣(LeetCode)位1的个数 个人题解
  12. php 股票历史api接口,新浪股票接口获取历史数据
  13. 社会网络分析法SNA
  14. 电阻式触摸屏的工作原理
  15. als算法参数_ALS算法
  16. GooglePlay内购服务器验单配置
  17. 50条有趣的Python一行代码
  18. 大明宫发动机和个人的考虑发达国家
  19. 01-旭日X3派测评——开箱测试系统烧写性能初测
  20. WIN10系统CH340驱动预安装成功,但是设备显示器中的端口不能显示CH340驱动

热门文章

  1. 音乐类编曲软件——水果FL Studio的入门小知识
  2. 水果FLStudio21.0.0中文版全能数字音乐工作站DAW
  3. 笔记本扩展坞无法外界显示器的问题
  4. 学会了这个调试方法,再难的Bug都不怕!
  5. Spring Cloud + Nacos 三部曲之Discovery消费者
  6. AGA8_92DC压缩因子计算 C源码
  7. matlab课程设计报告题目,课程设计报告
  8. Linux下sh文件执行权限不够,该怎么做
  9. Aplication electronics OpenCart 主题模板 ABC-0167
  10. 大数据之——Hive