概述
用了半个小时搞懂了这个问题,基础愁死我了!
private static boolean isIntegerValue(BigDecimal decimalVal) { return decimalVal.scale() <= 0 || decimalVal.stripTrailingZeros().scale() <= 0; } //decimalVal.stripTrailingZeros(); 得到的值包含科学计数法:用下面这段解释 public static void main(String[] args) { float exp1 = 1.39e-43f; System.out.println("科学计数法1==" + exp1);// 表示1.39乘以10的负43次方 double exp2 = 47 * 10000000000000000000000000000000000000d; System.out.println("科学计数法2==" + exp2);// 表示47乘以10的37次方===4.7E38 float exp3 = 1e-43f;// 此时43后面必须加上f,否则会报错.编译器同擦汗那个会将指数最为双精度处理。 System.out.println("科学计数法3==" + exp3);// 表示1乘以10的负43次方 long n = 200;// 此时不需要在200后面加l,因为编译器能识别这个类型,在这里不存在含混不清的地方。 System.out.println(n); /*** * 打印结果为: * 科学计数法1==1.39E-43 * 科学计数法2==4.7E38 * 科学计数法3==1.0E-43 * 200 * * */ }
//获取decimal整数
private static BigDecimal getValRoundDown(BigDecimal decimalVal) {
return decimalVal.setScale(0, BigDecimal.ROUND_DOWN);
}
转载于:https://www.cnblogs.com/buoge/p/4685877.html
最后
以上就是优美银耳汤为你收集整理的判断decimal 是否为整数的全部内容,希望文章能够帮你解决判断decimal 是否为整数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复