前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >js 中数字小数点末尾的0显示与否

js 中数字小数点末尾的0显示与否

作者头像
好吃懒洋洋
发布2022-11-15 17:06:50
5.1K0
发布2022-11-15 17:06:50
举报
文章被收录于专栏:个人学习分享

js 中数字小数点末尾的0显示与否

不显示0

我们先来看一道例题,然后围绕其展开“零”的讨论:

问题:得到一个随机数组成的数组,数组长度为10 结果类似于:[0.243, 0.162, 0.701, 0.501…]

代码语言:javascript
复制
// 此处封装了一个获取随机数的函数,由于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类型

代码语言:javascript
复制
//下面的代码均在开篇创建的arr数组上进行调试
const newArr = arr.map(function (item) {
  return Number(Math.random().toFixed(3));
});
console.log(newArr);

输出:

在这里插入图片描述
在这里插入图片描述

此处是通过parseFloat进行string类型转换为number类型

代码语言:javascript
复制
const newArr = arr.map(function (item) {
  return parseFloat(Math.random().toFixed(3));
});
console.log(newArr);

输出:

在这里插入图片描述
在这里插入图片描述

下面使用了文章开头处封装的随机数获取函数

代码语言:javascript
复制
const newArr = arr.map(function (item) {
    return getRandom(100,1000)/1000;//获取0~1之间的数,等同于Math.floor()
  });
console.log(newArr);

输出:

在这里插入图片描述
在这里插入图片描述

小结:上面三种方法最终获取的数字都是number类型(都省略了末尾的0);由此可以看出,想得到保留小数点末尾0的数字,只能将其数字格式化

显示0(数字格式化)

下面是通过格式化方法显示小数点末尾末尾的0 ,最终获取的数字是string类型

代码语言:javascript
复制
/**
 * 格式化数字,保留小数点后末尾的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()

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • js 中数字小数点末尾的0显示与否
  • 不显示0
  • 显示0(数字格式化)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档