如何判断一double类型的数值是不是有小数部分
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何判断一double类型的数值是不是有小数部分相关的知识,希望对你有一定的参考价值。
转换成字符串,判断小数点位置首先判断是否有小数点,如果没有,得到结果0
如果有小数点,使用indexof判断小数点位置,然后根据字符串总长度,如123.45,得到小数点位置为3,总长度为6,那么就得到的结果就是6-1-3=2,得到结论,如果小数点位置在a,总长度为b,那么结果就是b-1-a
private
int
getvalue(string
value)
string
strvalue
=
value.tostring();
if
(strvalue.contains("."))
int
maxlength
=
strvalue.length;
int
index
=
strvalue.indexof(".");
return
maxlength
-
1
-
index;
else
return
0;
看不懂再问 参考技术A java中常量
的浮点数字就被认为是double型的,而且不能直接赋给float型的变量
像float
a=1.2;
这样的编绎直接出错
要写成float
a=1.2f;
才行
double,float,BigDecimal类型数值的操作
float四舍五入保留两位小数
/** * float四舍五入保留两位小数 * */ public static float formatDecimal(float n) { return (Math.round(n * 100)) / 100f; }
double四舍五入保留两位小数
/** * double四舍五入保留两位小数 * */ public static double formatDecimal(double n) { return (Math.round(n * 100)) / 100d; }
BigDecimal向上取整
/** * BigDecimal向上取整 * */ public static BigDecimal formatUpRounding(BigDecimal b) { return b.setScale(0, BigDecimal.ROUND_UP); }
BigDecimal向下取整
/** * BigDecimal向下取整 * */ public static BigDecimal formatDownRounding(BigDecimal b) { return b.setScale(0, BigDecimal.ROUND_DOWN); }
BigDecimal四舍五入取整
/** * BigDecimal四舍五入取整 * */ public static BigDecimal formatRounding(BigDecimal b) { return b.setScale(0, BigDecimal.ROUND_HALF_EVEN); }
BigDecimal保留两位小数 转换成float
/** * BigDecimal四舍五入保留两位小数 转float * */ public static float toFloat(BigDecimal b){ return b.setScale(2).floatValue(); }
BigDecimal转换成String
/** * BigDecimal to String * */ public static String toString(BigDecimal b) { return b.toPlainString(); }
以上是关于如何判断一double类型的数值是不是有小数部分的主要内容,如果未能解决你的问题,请参考以下文章