如何获得该点之后的值。
实施例: 如果5.4是值,我想得到的值4不是0.4,我该怎么做?
答案 0 :(得分:1)
您可以使用字符串函数:
public static void main(String args[]){
Double d = 5.14;
String afterD = String.valueOf(d);
afterD =afterD.substring(afterD.indexOf(".") + 1);
System.out.println(afterD);
}
indexof(".") + 1
然后打印它。&安培;看到它会工作。
或者您可以尝试:
double d = 4.24;
BigDecimal bd = new BigDecimal(( d - Math.floor( d )) * 100 );
bd = bd.setScale(4,RoundingMode.HALF_DOWN);
System.out.println( bd.intValue() );
将打印:24
假设您的输入为4.241
,那么您必须在0
bd公式中添加1个额外BigDecimal
,而不是100
它将是1000
。< / p>
答案 1 :(得分:1)
<强>代码强>:
double i = 5.4;
String[] s = Double.toString(i).split("\\.");
System.out.println(s[1]);
<强>输出强>:
4
<强> Explantion 强>:
你可以将double转换为String类型,之后使用split函数,它将转换后的double分成两部分,因为使用了\\.
分隔符。最后,键入您想要的第二部分。
你可以试试这个
代码:
double i = 4.4;
String s = Double.toString(i);
boolean seenFloatingPoint = false;
for (int j = 0; j < s.length(); j++) {
if(s.charAt(j)== '.' && !seenFloatingPoint){
seenFloatingPoint = true;
} else if (seenFloatingPoint)
System.out.print(s.charAt(j));
}
System.out.println("");
输出:
4
答案 2 :(得分:0)
一行答案是
int floatingpoint(float floating){
return Integer.valueOf((Float.toString(floating).split(".")[1]));
}
将执行以下操作:
感谢。
答案 3 :(得分:0)
试试这种方式
Double d = 5.14;
String afterD = String.valueOf(d);
String fractionPart = afterD.split("\\.")[1];
答案 4 :(得分:0)
int i=(int)yourvalue;
float/double afterDecimal= yourvalue - i;
int finalValue = afterDecimal * precision;//define precision as power of 10
EX. yourvalue = 2.345;
int i=(int)yourvalue;//i=2
float/double afterDecimal= yourvalue - i;//afterDecimal=0.345
int finalValue = afterDecimal * precision;
//finalValue=0.345*10 or
//finalValue=0.345*100 or
// finalValue=0.345*1000
...
答案 5 :(得分:0)
试试这种方式
double d = 5.24;
int i = Integer.parseInt(Double.toString(d).split("\\.")[1]);
答案 6 :(得分:0)
System.out.println((int)(5.4%((int)5.4)*10));
基本上5.4 mod 5
让.4 * 10
让你4
。