关于java格式化数据,保留两位小数不精准的问题
2016-01-14 11:14
471 查看
首先,网上有传的几种格式化的方法,如下
java保留两位小数问题:
方式一:
四舍五入
double f = 111231.5585;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
保留两位小数
---------------------------------------------------------------
方式二:
java.text.DecimalFormat df =new java.text.DecimalFormat("#.00");
df.format(你要格式化的数字);
例:new java.text.DecimalFormat("#.00").format(3.1415926)
#.00 表示两位小数 #.0000四位小数 以此类推...
方式三:
double d = 3.1415926;
String result = String .format("%.2f");
%.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型
方式四:
NumberFormat ddf1=NumberFormat.getNumberInstance() ;
void setMaximumFractionDigits(int digits)
digits 显示的数字位数
为格式化对象设定小数点后的显示的最多位,显示的最后位是舍入的
这里指出,这样格式化数据的话,你会发现,小数点后面的精确度影响很大,首先你要理解format的原理,原理大概是这个公式一样
这样计算的话,自己可以笔算试试,出来的结果跟你想要的结果误差是比较大的
解决处理的方法:
把所有的Float数据,换成Double
java保留两位小数问题:
方式一:
四舍五入
double f = 111231.5585;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
保留两位小数
---------------------------------------------------------------
方式二:
java.text.DecimalFormat df =new java.text.DecimalFormat("#.00");
df.format(你要格式化的数字);
例:new java.text.DecimalFormat("#.00").format(3.1415926)
#.00 表示两位小数 #.0000四位小数 以此类推...
方式三:
double d = 3.1415926;
String result = String .format("%.2f");
%.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型
方式四:
NumberFormat ddf1=NumberFormat.getNumberInstance() ;
void setMaximumFractionDigits(int digits)
digits 显示的数字位数
为格式化对象设定小数点后的显示的最多位,显示的最后位是舍入的
这里指出,这样格式化数据的话,你会发现,小数点后面的精确度影响很大,首先你要理解format的原理,原理大概是这个公式一样
float
num=(
float
)(Math.round(totalPrice*
100
)/
100
);
//如果要求精确4位就*10000然后/10000
这样计算的话,自己可以笔算试试,出来的结果跟你想要的结果误差是比较大的
解决处理的方法:
把所有的Float数据,换成Double
相关文章推荐
- spring mvc 使用jackson暴露http+json服务时,如何设置jackson
- 第11章 为Spring添加REST功能
- Eclipse设置护眼背景色及字体
- java replaceall 使用正则表达式替换单等号,不替换其他相关的等号。
- Eclipse 使用 Link 方式进行插件的安装
- Spring 定时监听配置
- Java 内部类调用外部类方法的一个注意点
- Spring中bean的scope详解
- [JAVA] - Java OutOfMemoryError分类
- Java中的关键字static和final的作用
- eclipse maven 下添加jar包
- java--异常处理机制
- spring mvc + hibernate 事务管理 + mysql
- 内省
- java读写文件
- Java复杂Json转成实体
- XMLConfiguration读取XML文件
- Java开发WebService的几种方式
- Java打包File
- java 常见的异常错误代码