wordpress 删除超文本,wordpress 优化,怎么能在网上卖货,通州手机网站建设文章目录 想要读这个表格#xff0c;并且求第二列所有价格的和方法一#xff1a;通过添加文件输入元素上传csv完整#xff08;正确#xff09;代码之前的错误部分因为价格是小数#xff0c;所以下面的代码出错。如果把parseFloat改成parseInt#xff0c;那么求和没有意义… 文章目录 想要读这个表格并且求第二列所有价格的和方法一通过添加文件输入元素上传csv完整正确代码之前的错误部分因为价格是小数所以下面的代码出错。如果把parseFloat改成parseInt那么求和没有意义因为不准确。如果要用parseFloat是不能用BigInt的。BigInt 只能表示整数不能直接用于表示浮点数。如果需要处理非常大的浮点数要考虑使用第三方库如 bignumber.js 或 decimal.js这些库提供了对任意精度的浮点数的支持。我这次用的是decimal 方法二自动读取 想要读这个表格并且求第二列所有价格的和 方法一通过添加文件输入元素上传csv
完整正确代码
选择了csv文件之后会自动求和 并显示在price sum中
templatedivinput typefile changehandleFileUpload /pPrice sum: {{ priceSumFinal }}/p/div
/templatescript setup
import {ref} from vue
import Decimal from decimal.js;let priceSumFinal ref(0)const handleFileUpload(event) {// 获取用户选择的文件const file event.target.files[0];// 创建一个新的FileReader对象const reader new FileReader();// 监听文件读取完成事件reader.onload () {// 将读取的文件内容传递给处理CSV数据的函数parseCSVData(reader.result);};// 读取文件内容reader.readAsText(file);
}const parseCSVData (data){// 解析CSV文件内容并将其转换为对应的数据结构// 例如将CSV中的每一行转换为一个对象const rows data.split(\n);const headers rows[0].split(,);const csvData [];for (let i 1; i rows.length; i) {const row rows[i].split(,);const rowData {};for (let j 0; j headers.length; j) {rowData[headers[j]] row[j];}csvData.push(rowData);}console.log(csvData);// 初始化 priceSum 为 Decimal 类型let priceSum new Decimal(0);console.log(typeof priceSum); // 输出objectfor (let i 1; i 100; i) {// 使用 Decimal 来处理每个 price 值let priceDecimal new Decimal(csvData[i].price);priceSum priceSum.plus(priceDecimal);}console.log(priceSum.toString()); // 输出将 Decimal 转换为字符串priceSumFinal.value priceSum.toString()}/script之前的错误部分
因为价格是小数所以下面的代码出错。
如果把parseFloat改成parseInt那么求和没有意义因为不准确。如果要用parseFloat是不能用BigInt的。BigInt 只能表示整数不能直接用于表示浮点数。
let priceSum BigInt(0);
console.log(typeof priceSum); // 输出bigint// 遍历 csvData 数组累加 price 值
for (let i 1; i csvData.length; i) {// 确保 csvData[i].price 是一个可以转换为 BigInt 的字符串let priceBigInt BigInt(parseFloat(csvData[i].price));priceSum priceBigInt;
}console.log(priceSum.toString()); // 输出将 BigInt 转换为字符串}如果需要处理非常大的浮点数要考虑使用第三方库如 bignumber.js 或 decimal.js这些库提供了对任意精度的浮点数的支持。我这次用的是decimal
方法二自动读取
按照这篇文章的意思是只能通过input读取 https://blog.51cto.com/u_16099178/6425473