js 转换数字为decmail_BigDecmail(解决java计算精度问题)
当使用double进行商业运算时,double计算会丢失精度。可以使用BigDecimal进行计算。
import java.math.BigDecimal;
import org.junit.Test;
public class TestBigDecimal{
@Test
public void test(){
double a=0.1;
double b=0.2;
System.out.println(a+b);
BigDecimal a1=new BigDecimal("0.1");
BigDecimal b1=new BigDecimal("0.2");
System.out.println(a1+b1);
BigDecimal c1=new BigDecimal("0.23574");
a1=a1.add(c1);
a1=a1.setScale(1,BigDecimal.ROUND_DOWN);
System.out.println(a1);
}
}
运行后,输出结果如下:
0.30000000000000004
0.3
0.4
double的加减无法精确计算出0.3,而使用BigDecimal却可以。
当然,如果直接将double传给BigDecimal,你会发现不但无法解决精度问题,反而对精度进行了补全。所以,为确保精度,我们将String传给它。
还可以看到上边使用了.setScale方法,它还有很多方法供我们使用:
add(BigDecimal) BigDecimal对象中的值相加,然后返回这个对象。
subtract(BigDecimal) BigDecimal对象中的值相减,然后返回这个对象。
multiply(BigDecimal) BigDecimal对象中的值相乘,然后返回这个对象。
divide(BigDecimal) BigDecimal对象中的值相除,然后返回这个对象。
toString() 将BigDecimal对象的数值转换成字符串。
doubleValue() 将BigDecimal对象中的值以双精度数返回。
floatValue() 将BigDecimal对象中的值以单精度数返回。
longValue() 将BigDecimal对象中的值以长整数返回。
intValue() 将BigDecimal对象中的值以整数返回。
js 转换数字为decmail_BigDecmail(解决java计算精度问题)相关推荐
- JS 转换数字/日期大全
toExponential([fractionDigits]) :将数字按科学计数法格式返回,其中的fractionDigits值小数点后保留的位数. toFixed([fractionDigi ...
- JS 转换数字为大写
1 function toUpper(n) { 2 n = n+''; 3 var unit = '十百千万'; 4 var num = '一二三四五六七八九 '; 5 var array = new ...
- js四舍五入和计算精度问题
js四舍五入和计算精度问题 业务背景 计算精度问题(mathjs) 四舍五入问题 无效方案一:toFixed(2) 无效方案二:小数位截取计算 无效方案三:Math.round(n*100)/100 ...
- oracle最小精度,【整理+原创】Oracle的计算精度与误差
也不算总结帖,至多算个小结帖 由近期看到的帖子想到的,本主题只讨论数字 1.Oracle的计算精度是多少? Oracle的数字精度最多是38位,计算精度当然也就这么多了,否则如何表示计算结果?呵呵 O ...
- PHP 浮点数计算精度问题
近日计算价格时,0.91 + 0.1 = 0.91999999: 查看了各种论坛后,发现是浮点数计算精度问题造成的 浮点数运算精度丢失的产生原因 在计算机中,只有二进制的数据才能被识别和处理.所以 ...
- JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去… 及其浮点数计算精度问题(推荐的类库 Numeral.js 和 accounting.js)...
前端开发中经常会碰到用 JavaScript 格式化数字,最最常见的是格式化金额,一般格式化金额需要千分位分隔,保留2位小数等等. 还有偶然会遇到的使用 js 计算浮点数时出现误差. 完善的功能函数推 ...
- 前端利用JS导出数据到Excel表 数字是文本类型 无法计算
问题描述:前端利用JS导出数据到Excel表 数字是文本类型 无法进行公式计算:前端利用JS导出数据到Excel表 数字是文本类型 无法计算 解决办法:参考https://bbs.csdn.net/t ...
- 用decimal.js库解决JavaScript中计算精度丢失的问题
项目场景: 涉及小数点的计算 精度丢失原因看这里 解决 用decimal.js库,decimal.js是使用的二进制来计算的, 所以能解决js的精度问题. 安装和引入 执行命令npm i decima ...
- java js 转换_[Java教程]javascript 类型转换。
[Java教程]javascript 类型转换. 0 2016-10-11 18:00:06 目录: 1 : 伪对象 2 : 转换为字符串 3 : 数字转字符串 4 : 转换为数字 5 : 转换为Bo ...
最新文章
- 《网站分析师实战指南》一1.4 进入实战之路
- Linux中使用gcp拷贝报错:dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NotSupported:
- spring cloud微服务分布式云架构(四)-断路器(Hystrix)
- android蓝牙pair,Android向更多蓝牙设备开放Fast Pair功能 配对更轻松了
- arp攻击 python_python之arp攻击
- VS2008中对.Net 3.5 sp1程序打安装包的前提系统环境的配置
- java反射三种方法_Java基础入门要学哪些 怎么掌握反射和枚举
- Shell脚本中date的用法小结
- poj 3268 Silver Cow Party dijkstra基础题!!!入门
- 荒唐可笑的文言文编程语言
- 自定义阿里云OSS图片大小
- xp计算机启动检测硬盘,WindowsXP系统,每次开机都自动检测硬盘处理办法
- Android Widget 小部件(一) 简单实现
- 移动端ui设计,移动端界面
- 云虚拟主机+WordPress搭建个人博客详细内容
- 推荐算法(2):基于内容的推荐
- AI:大模型领域最新算法SOTA总结、人工智能领域AI工具产品集合分门别类(文本类、图片类、编程类、办公类、视频类、音频类、多模态类)的简介、使用方法(持续更新)之详细攻略
- echarts 饼图 中间 画圈 + 文字
- excel的下载导出
- 熬夜怒肝,图解算法!BFS和DFS的直观解释
热门文章
- UE4_Lighting Scenarios
- Java笔试题之《流行的框架与新技术》
- PCL中分割_欧式分割(1)
- Android分包方案multidex
- Knockout js 绑定 radio 时,当绑定整形的时候,绑定不生效
- SQL语句中order_by_、group_by_、having的用法区别
- 国家卫健委:我国男女性成人平均身高分别为169.7厘米和158厘米
- 为什么Python是数据科学领域最受欢迎的语言
- 谷歌为何能持续创新?工程经理亲自揭秘“工程师文化”
- 苹果证实收购Drive.ai自动驾驶汽车初创公司