如何获得点之后的值

时间:2014-09-29 04:30:14

标签: java android string double decimal

如何获得该点之后的值。

实施例: 如果5.4是值,我想得到的值4不是0.4,我该怎么做?

7 个答案:

答案 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);
}
  1. 首先将数字转换为String,
  2. 然后使用Substring get indexof(".") + 1然后打印它。
  3. &安培;看到它会工作。

    或者您可以尝试:

     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]));



}

将执行以下操作:

  1. 将数字例如56.45转换为字符串
  2. 然后将字符串拆分为字符串数组,其中[0] =“56”和[1] =“45”
  3. 然后它会将第二个字符串转换为整数。
  4. 感谢。

答案 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