java 中小数点的处理

第一种

BigDecimal bg = new BigDecimal(f);

double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();

System.out.println(f1);

第二种 DecimalFormat转换最简便

DecimalForamt  df = new DecimalForamt("#.00");

df.format(f);

第三种  String.format打印最简便

String.format("%.2f", f);

第四种

NumberFormat nf = NumberFormat.getNumberInstance();

nf.setMaximumFractionDigits(2);

System.out.println(nf.format(f));

时间: 2024-10-05 11:44:49

java 中小数点的处理的相关文章

开发过程遇到的坑汇总(一)

开发过程遇到的坑汇总(一) Java 字符串按小数点分割 String[] array = content.split("\\."); 在 Java 中小数点是一个特殊符号,是对象调用属性和方法的特殊符号,所以编译会出错的,用 \\ 是把小数点转义成单纯的小数点. 原文地址:https://www.cnblogs.com/vivfeng/p/11310813.html

如鹏网JAVA培训笔记1(晓伟整理)

JDK(Java Developmet Kit) JRE(Java RunTime Environment)的区别: JRE只有运行JAVA程序的环境,没有开发相关的工具;JDK=JRE+开发相关的工具. 用记事本运行java程序出现的问题: //可以执行的程序 class hello { public static void main(String[] args) { System.out.println("Hello World!"); } } //自己编写的为什么不能执行?? c

Java Float类型 减法运算时精度丢失问题

package test1; public class Test2 { /*** @param args*/public static void main(String[] args) {   Float xx = 2.0f;   Float yy = 1.8f;   Float tt = xx - yy;   System.out.println("tttttt-----" + tt); } } 果然输出结果是: tttttt-----0.20000005 再测试了几个float类型

【转】JAVA程序中Float和Double精度丢失问题

原文网址:http://blog.sina.com.cn/s/blog_827d041701017ctm.html 问题提出:12.0f-11.9f=0.10000038,"减不尽"为什么? 来自MSDN的解释: http://msdn.microsoft.com/zh-cn/c151dt3s.aspx 为何浮点数可能丢失精度浮点十进制值通常没有完全相同的二进制表示形式. 这是 CPU 所采用的浮点数据表示形式的副作用.为此,可能会经历一些精度丢失,并且一些浮点运算可能会产生意外的结果

表达式求值 - Java实现

本程序用于计算任意四则运算表达式.如 4 * ( 10 + 2 ) + 1 的结果应该为 49. 算法说明: 1. 首先定义运算符优先级.我们用一个 Map<String, Map<String, String>> 来保存优先级表.这样我们就可以通过下面的方式来计算两个运算符的优先级了: /** * 查表得到op1和op2的优先级 * @param op1 运算符1 * @param op2 运算符2 * @return ">", "<&q

Java浮点数内存存储

转自: [解惑]剖析float型的内存存储和精度丢失问题 1.小数的二进制表示问题 首先我们要搞清楚下面两个问题: (1)  十进制整数如何转化为二进制数 算法很简单.举个例子,11表示成二进制数: 11/2=5   余   1 5/2=2   余   1 2/2=1   余   0 1/2=0   余   1 0   结束 所以:11二进制表示为(从下往上):1011 这里提一点:只要遇到除以后的结果为0了就结束了,大家想一想,所有的整数除以2是不是一定能够最终得到0.换句话说,所有的整数转变

java用double和float进行小数计算精度不准确

java用double和float进行小数计算精度不准确 大多数情况下,使用double和float计算的结果是准确的,但是在一些精度要求很高的系统中或者已知的小数计算得到的结果会不准确,这种问题是非常严重的. <Effective Java>中提到一个原则,那就是float和double只能用来作科学计算或者是工程计算,但在商业计算中我们要用java.math.BigDecimal,通过使用BigDecimal类可以解决上述问题,java的设计者给编程人员提供了一个很有用的类BigDecim

mysql/sql server和java之间的数据类型对应关系

Mysql************************************当前列 ClassName ColumnType DisplaySize TypeName0: java.lang.Integer ColumnType:4 11 INTEGER1: java.lang.Integer ColumnType:-6 4 TINYINT2: java.lang.String ColumnType:12 0 UNKNOWN3: java.lang.Boolean ColumnType:-

Java 相关注意事项小结

程序是一系列有序指令的集合: Java主要用于开发两类程序: 1)桌面应用程序2)Internet应用程序1,Java程序:三步走,编写--编译--运行:2,使用记事本开发:1)以.java为后缀名保存文件2)使用javac命令编译.java文件,生成.class文件3)使用java命令编译.class文件,输出结果3,main()方法是java程序的执行的入口点:4,\n是换行符,\t是制表符5,包资源管理器:1)用包阻止Java源文件,类似于文件夹2)选择菜单"Window-show vie