发布网友
共5个回答
热心网友
首先,需要将科学计数法转换成一下:
例如:
BigDecimal bd = new BigDecimal("3.40256010353E11");
然后转换成字符串:
String str = bd.toPlainString();
如果这个数字的长度是在int的范围内的话,是可以转换成int类型:
int a = Integer.parsInt(str);
如果这个数字的长度不是在Int范围内的话,得到的就不是你想要的数字了!
热心网友
首先,需要将科学计数法转换成一下:
例如:
BigDecimal bd = new BigDecimal("3.40256010353E11");
然后转换成字符串:
String str = bd.toPlainString();
如果这个数字的长度是在int的范围内的话,是可以转换成int类型:
int a = Integer.parsInt(str);
如果这个数字的长度不是在Int范围内的话,得到的就不是你想要的数字了!追问不对 ,你试试抓换1.03219E+14 ,得出的数字不是我说的真是值
热心网友
public static void main(String[] args)
{
BigDecimal bd = new BigDecimal("1.03219E+14");
System.out.println(bd.toPlainString());
}
不过会略去之后的数字
热心网友
凡是科学计数法显示的数据都会带有E,用contains()判断
判断之后,用bigdecimal.valueof(数据),就会正常显示
热心网友
//把保留小数设大一点
DecimalFormat df=new DecimalFormat("###.#################");
double d = 1.03219E+14;
System.out.println(df.format(d));