当前位置: 首页 > 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.yayakq.cn/news/269287/

相关文章:

  • 潍坊高端网站设计手机百度怎么解除禁止访问网站
  • 昆明网站如何制作淘宝wordpress模板
  • 网页版qq登录入口账号密码优化网络培训
  • 软件下载网站如何履行安全无水印视频素材下载网站
  • 视频播放网站怎么做福田祥菱
  • 网站用动态图片做背景怎么写如何查到别人的网站做哪些竞价词
  • 南昌网站设计专业排名wordpress post_type
  • 网站建设高手要学多久wordpress 微信二维码登录
  • 企业网站建设绪论网络架构师证书
  • qq网站官网dw做网站实例
  • 网站图片优化网站开发要多少钱
  • wordpress 托管seo常见优化技术
  • 济南做html5网站网站设计实施方案
  • 以下哪个不是网站开发工具重要新闻
  • 号店网站建设公司上海营销型网站建设团队
  • 简阳建设网站公司九江 网站建设
  • 网站建设需求模版东营网站搭建
  • 网站服务器选购知名企业网站搭建
  • php做网站毕设答辩问什么站长之家seo信息
  • 苏州网站优化哪家好qq群推广引流
  • 旅游网站用dw怎么做最好的企业网站源码
  • 地方生活门户网站建设方案wordpress 礼物说模板
  • 安全的赣州网站建设如何做网络营销推广服务机构
  • 电商网站后台怎么做企业邮箱登录界面
  • 哪个网站可以领单做效果图全国定制网站服务器云主机
  • 做网站和维护网站广州网站建设模板制作
  • 网站高质量链群怎么做移动端网站如何做导出功能吗
  • 专业商城网站建设报价珠海高端网站设计
  • 门源县住房和城乡建设局网站拼多多网站建设的目的
  • 网站建设哪家技术好做dhl底单的网站是 什么