java double 类型 怎样截取小数点后4位
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java double 类型 怎样截取小数点后4位相关的知识,希望对你有一定的参考价值。
比如 365.93547843 我要截取小数点后4位 是365.9354 不要四舍五入的那种 各位大神有什么简洁的办法吗?
double f = 1107781.3985;BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();
保留两位小数
---------------------------------------------------------------
java.text.DecimalFormat df =new java.text.DecimalFormat("#.00");
df.format(float param);
参考着用吧
判断几位小数只有你自己写方法判断了,先找小数点,再判断就行了 参考技术A 我说个原理你自己做吧,就是把那个数乘以10000并强制转换为int,再用一个double 类型的变量赋值为这个int/10000, 就可以了。本回答被提问者采纳 参考技术B String numStr = String.valueOf(2222.12345);
String strNew = numStr.substring(numStr.indexOf(".") + 1,numStr.indexOf(".") + 5);
System.out.println(strNew);
转成String类型的截取字符串,如果有需要可以再转回去追问
字符串比较麻烦 math中有没有能直接截取的方法呢?
参考技术C double a=3.1415926;String temp=Double.toString(a);
int start=temp.indexOf(".");
System.out.println(temp.substring(start+1,start+5));
你可以参考下 参考技术D BigDecimal bg = new BigDecimal(365.93547843);
double f1 = bg.setScale(4, BigDecimal.ROUND_DOWN).doubleValue();
System.out.println(f1);
话说double 是保留多少位小数.
参考技术A 你是指计算机吗?不同语言的double类型的精度不同,通常小数点后六七位没问题以上是关于java double 类型 怎样截取小数点后4位的主要内容,如果未能解决你的问题,请参考以下文章