123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- // 精确计算加法
- export function acc(arg1, arg2) {
- let r1 = deal(arg1)
- let r2 = deal(arg2)
- let m = Math.pow(10, Math.max(r1, r2))
- let res1 = numMulti(arg1, m)
- let res2 = numMulti(arg2, m)
- return (res1 + res2) / m
- }
- export function deal(arg) {
- var t = 0
- try {
- t = arg.toString().split(".")[1].length
- } catch (e) {}
- return t
- }
- // 乘法精度计算
- export function numMulti(num1, num2) {
- var baseNum = 0
- try {
- baseNum += num1.toString().split(".")[1].length
- } catch (e) {}
- try {
- baseNum += num2.toString().split(".")[1].length
- } catch (e) {}
- return Number(num1.toString().replace(".", "")) * Number(num2.toString().replace(".", "")) / Math.pow(10, baseNum)
- }
- /**
- * px换算rpx
- * @param {Number} arg px数值
- * @return {Number} rpx数值
- **/
- export function toRpx(arg) {
- const res = uni.getSystemInfoSync();
- return (arg * 750) / res.windowWidth;
- }
- /**
- * rpx换算px
- * @param {Number} arg rpx数值
- * @return {Number} px数值
- **/
- export function toPx(arg) {
- const res = uni.getSystemInfoSync();
- return (arg * res.windowWidth) / 750;
- }
- /**
- * 数值超过万转化为x.xW
- * @param {Number} arg
- * @return {Number}
- */
- export function toWan(arg) {
- console.log(arg);
- return arg >= 10000 ? ((arg / 10000).toFixed(1) + 'w') : arg
- }
- //瀑布流数据处理
- export function pubuList(list) {
- let arr1 = list.filter((item, index) => {
- if (index % 2 === 0) {
- return item
- }
- })
- let arr2 = list.filter((item, index) => {
- if (index % 2 === 1) {
- return item
- }
- })
- let arr = arr1.concat(arr2)
- if (arr.length % 2 !== 0) {
- arr.push({
- empty: true
- })
- }
- return arr
- }
- // 销量过滤器
- export function saleFilter(v) {
- let count = 0
- if (v < 10000) {
- count = v
- } else {
- count = toFixedCus(v / 10000, 1) + 'w+'
- }
- return count
- }
- function toFixedCus(num, decimal) {
- num = num.toString();
- let index = num.indexOf('.');
- if (index !== -1) {
- num = num.substring(0, decimal + index + 1)
- } else {
- num = num.substring(0)
- }
- return parseFloat(num).toFixed(decimal)
- }
|