数据类型问题——千百万(财务统计之必用必懂)

凯撒大弚 发布于 2012/07/05 21:35
阅读 306
收藏 0

之前做财务报表的时候发现碰到金额超过百万的时候就被字母替代了,比如

public class DoubleTest {
	public static void main(String[] args) {
		double d = 9999999.9999;
		System.out.println(d);
	}
}

输出结果:9999999.9999

如果超过了百万:

public class DoubleTest {
	public static void main(String[] args) {
		double d = 99999990.9999;
		System.out.println(d);
	}
}

输出结果就变成了:9.99999909999E7。

碰到这种情况已经解决或知道如何解决的大侠请指点一二,在此谢过。

 

加载中
0
Jeky
Jeky
使用BigDecimal
Jeky
Jeky
回复 @腾勇 : 字符串直接转成BigDecimal 进行运算 所有运算全部基于BigDecimal
凯撒大弚
凯撒大弚
多谢
凯撒大弚
凯撒大弚
有道理,下次注意了
开源中国董事会主席
开源中国董事会主席
java 是强类型 你存字符串你咋在程序中做运算?
Jeky
Jeky
回复 @雅各布奇 : 简单说 财务就别用double 问题太多 数据库里直接存字符串就行了
下一页
0
zhoujiangzi2010
zhoujiangzi2010

引用来自“Jeky”的答案

使用BigDecimal

0
hunterli
hunterli
DecimalFormat
凯撒大弚
凯撒大弚
DicimalFormat格式化确实可以解决千万的问题,不过double的最大长度到亿,再大就out of range了,把double换成BigDicimal就ok了,多谢回答。学习了
返回顶部
顶部