JS计算加减乘除出现多位小数的解决方法
function add(arg1, arg2){
let decima1, decima2, differ, m;
try { decima1 = arg1.toString().split('.')[1].length } catch(err) {
decima1 = 0
}
try { decima2 = arg2.toString().split('.')[1].length } catch (err) {
decima2 = 0
}
differ = Math.abs(decima1 - decima2)
m = Math.pow(10, Math.max(decima1, decima2))
if(differ > 0) {
let differM = Math.pow(10, differ)
if(decima1 > decima2) {
arr1= Number(arg1.toString().replace('.', ''))
arr2 = Number(arg2.toString().replace('.', '')) * differM
} else {
arr1 = Number(arg1.toString().replace('.', '')) * differM
arr2 = Number(arg2.toString().replace('.', ''))
}
} else {
arr1 = Number(arg1.toString().replace('.',''))
arr2 = Number(arg2.toString().replace('.', ''))
}
return (arg1 + arg2) / m }
获取两个数的小数位decima1、decima2,把最大的小数位当作10的次方 m,将两个数都转化成整数并相加然后除以 m
JS计算加减乘除出现多位小数的解决方法的更多相关文章
- select 框option添加属性 js计算价格 保持两位小数
<select name="" id=""> <volist name="v['childList']" id=" ...
- JS中格式化数据保留两位小数
问题:在JS中格式化数据保留两位小数的函数的多种方法 最好方法: 保留两位好像是这样吧 var a = 9.39393; alert(a.toFixed(2)); 说明: ...
- js小数运算出现多位小数如何解决
小数相乘出现很多位小数的问题:这个问题自己以前也遇到过,现在特意来总结一下: Number类型: Number类型是ECMAScript中最常用和最令人关注的类型了:这种类型使用IEEE754格式来表 ...
- js设置百分比保留两位小数
CreateTime--2017年8月23日11:03:31Author:Marydon js设置百分比保留两位小数 错误用法: var percent = (num1/num2) * 100%; ...
- javascript实现保留两位小数的多种方法
第一种方法:javascript实现保留两位小数一位自动补零代码实例:第一种方法介绍一下如何实现对数字保留两位小数效果,如果数字的原本小数位数不到两位,那么缺少的就自动补零,这个也是为了统一的效果,先 ...
- java double类型保留两位小数4种方法【转】
4种方法,都是四舍五入,例: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberF ...
- java使double保留两位小数的多方法
java使double保留两位小数的多方法 java保留两位小数 mport java.text.DecimalFormat; DecimalFormat df = new DecimalFormat ...
- php浮点数计算比较及取整不准确解决方法
原文:php浮点数计算比较及取整不准确解决方法 php有意思的现象,应该是很多编程语言都会有这样的现象.这个是因为计算机的本身对浮点数识别的问题..... $f = 0.58; var_dump(in ...
- 【转】PLSQL developer 连接不上64位Oracle 的解决方法
PLSQL developer 连接不上64位Oracle 的解决方法 快乐无极 , 2012/06/13 10:10 , 开发文档 , 评论(6) , 阅读(140430) , Via 本站原创 大 ...
- PLSQL developer连接不上64位Oracle的解决方法
PLSQL developer连接不上64位Oracle的解决方法 64位下装Oracle 11g 64位,PLSQL Developer使用出现问题. 问题描述: 登录对话框中,数据库下拉框为空: ...
随机推荐
- linux 创建 挂载 ntfs分区
格式化为ntf分区 先用fdisk创建分区 格式化 mkfs.ntfs -f /dev/sda2 挂载 zxd@x79:~$ cat /etc/fstab# /etc/fstab: static fi ...
- Qt多线程编程之QThreadPool 和 QRunnable使用
说到线程通常会想到QThread,但其实Qt中创建线程的方式有多种,这里主要介绍其中一种QRunnable,QRunnable和QThread用法有些不同,并且使用场景也有区别.要介绍QRunnabl ...
- PVD模板
void PVD_Init(void){ EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; //--- ...
- Winform帮助文档(C#打开chm定位到特定页面)国内最全总结写法。原文文档带翻译
下面比较啰嗦,只一句即可:Help.ShowHelp(null,"C:\help.hcm", HelpNavigator.Topic,"index.htm")方 ...
- easyui subGrid实现
$(function(){ $('#dg').datagrid({ view: detailview, detailFormatter:function(index,row){ return '< ...
- Telnet登陆网络设备执行命令脚本
# !/usr//bin/python3 # -*- coding:UTF-8 -*- from telnetlib import Telnet import time, os, datetime, ...
- android studio 查看工程所有动画资源
- react 脚手架搭建项目 报错C:\Program Files\nodejs\node_cache\_logs\2022-12-28T14_38_28_286Z-debug-0.log
报错内容: 解决方法: 第一步: 删除C:\Program Files\nodejs\node_cache\_logs 目录下所有文件 第二步:切换镜像 npm config set registry ...
- centos7 双网卡同网段双网关配置
需求: #1.服务器为双网卡: #2.网卡1为互联网 172.16.137.99/24/254 #3.网卡2为旅游专网 172.16.137.97/24/1 #4.互联网路由器为172.16.137. ...
- pytorch MNIST加载已下载的数据集出现问题及解决方法
import torch import torch.nn as nn from torch.autograd import Variable import torchvision import tor ...