当前位置: 首页 > news >正文

为什么要做个人网站最近几天发生的新闻大事

为什么要做个人网站,最近几天发生的新闻大事,百度网址大全在哪里找,鲅鱼圈网站建设在开发项目的过程中有时候需要进行计算百分比,例如计算饼状图百分比。有时候在计算的过程中常规四舍五入计算会发生所有计算的值相加不等于100%的情况 这是 get_percent_value 函数的 JavaScript 版本: /*** 最大余额法,解决百分比计算相加不…

在开发项目的过程中有时候需要进行计算百分比,例如计算饼状图百分比。有时候在计算的过程中常规四舍五入计算会发生所有计算的值相加不等于100%的情况
这是 get_percent_value 函数的 JavaScript 版本:

/*** 最大余额法,解决百分比计算相加不等于100%(扇形/饼图百分比使用的此算法)* @param {Array} valueList 二维数组 [{value: 1}, {value: 2}, {value: 3}]* @param {string} contKey 要统计的字段* @param {number} precision 精度(默认为2保留百分比格式的两位小数)* @param {string} percentKey 百分比键名* @param {boolean} format 是否需要返回格式化后百分比格式,false则返回小数* @return {Array}*/
function getPercentValue(valueList, contKey, precision = 2, percentKey = 'percent', format = true) {if (valueList.length === 0) {return [];}// 求和const sum = valueList.reduce((acc, item) => acc + item[contKey], 0);// 如果总和为0,直接返回if (sum === 0) {return valueList.map(item => ({...item,[percentKey]: format ? '0%' : 0}));}// 计算精度const digits = Math.pow(10, precision);let currentSum = 0;let remainder = [];// 计算每个项目的整数和余数部分valueList.forEach((item, index) => {const votesPerQuota = (item[contKey] / sum) * digits * 100;const integerPart = Math.floor(votesPerQuota);valueList[index].integer = integerPart;remainder[index] = votesPerQuota - integerPart;currentSum += integerPart;});const targetSeats = digits * 100;// 找到最大余数并加1,直到总数达到目标while (currentSum < targetSeats) {const maxIndex = remainder.indexOf(Math.max(...remainder));valueList[maxIndex].integer++;remainder[maxIndex] = -1; // 确保该余数不会再被选中currentSum++;}// 生成最终的百分比值valueList.forEach(item => {item[percentKey] = (item.integer / targetSeats).toFixed(precision + 2);if (format) {item[percentKey] = (parseFloat(item[percentKey]) * 100).toFixed(precision) + '%';}delete item.integer;});return valueList;
}// 使用示例
const data = [{ value: 3 },{ value: 3 },{ value: 3 }
];const rateData = getPercentValue(data, 'value', 2, 'percent', false);
console.log(rateData);

说明:

  • reduce 用于求和。
  • Math.floor 用于获取整数部分。
  • Math.maxindexOf 用于找到最大余数的位置。
  • toFixed 保留指定的小数位数。

你可以通过 getPercentValue 函数来计算各项的百分比,并决定是否返回格式化的百分比形式。

http://www.hengruixuexiao.com/news/33572.html

相关文章:

  • 做网站的一些话术文职培训机构前十名
  • 做网站备案要多久360搜索关键词优化软件
  • 做哈尔滨本地门户网站赚钱吗什么叫优化
  • 做百度推广和企业网站那个有效果吗成品短视频app源码的优点
  • 做网站二级域名随便用吗网络营销机构官方网站
  • 怎么做视频监控的网站灵感关键词生成器
  • 昆明做网站的网络公司软文推广方案
  • 用dw做音乐网站模板今日舆情热点
  • 做网站1008做网站 - 百度互联网广告平台排名
  • 做网站microsoft百度网页网址
  • 政府站群网站怎么做crm管理系统
  • 医院网站后台模板桔子seo网
  • 公司新产品开发项目属于公司创业吗怎样淘宝seo排名优化
  • 大连里程科技做网站正规网站建设公司
  • 福田网站设计公司哪家好注册网站域名
  • 企业英文网站制作百度识图网页版 在线
  • 网站建设 团队介绍青岛网站seo
  • 相机网站建设规划书怎么在百度发布自己的文章
  • 网站建设方案及预算百度手机软件应用中心
  • 湖北交投建设集团网站seo chinaz
  • 视频网站策划网站每天做100个外链
  • 网站开发怎么做才有利于seo刷排名seo软件
  • 网站开发英文字体一般是什么广州网络推广策划公司
  • 重庆大型网站建设重庆网站制作最新天气预报最新消息
  • ui设计真实工资厦门seo管理
  • 什么网站时候做伪静态下载百度2023最新版安装
  • wordpress 多站点 子目录广东深圳疫情最新消息
  • 做微信公众号海报的网站如何推广一个网站
  • 网页设计心得体会50字山东网络优化公司排名
  • Paas网站建设站长统计