Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取点后的值_Java_Android_String_Double_Decimal - Fatal编程技术网

Java 如何获取点后的值

Java 如何获取点后的值,java,android,string,double,decimal,Java,Android,String,Double,Decimal,如何获取点后的值 例如: 如果5.4是值,而我希望得到的是值4而不是0.4,我如何才能做到这一点?您可以使用字符串函数: 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); }

如何获取点后的值

例如:
如果5.4是值,而我希望得到的是值4而不是0.4,我如何才能做到这一点?

您可以使用字符串函数:

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);
}
  • 首先,将数字转换为字符串
  • 然后使用子字符串get
    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
    ,那么您必须在
    BigDecimal
    bd公式中添加1个额外的
    0
    ,也就是说,它不是
    100
    ,而是
    1000
    ,一行答案是

    int floatingpoint(float floating){
    
        return Integer.valueOf((Float.toString(floating).split(".")[1]));
    
    
    
    }
    
    其作用如下:

  • 将数字(例如56.45)转换为字符串
  • 然后在字符串数组中拆分字符串,其中[0]=“56”和[1]=“45”
  • 然后将第二个字符串转换为整数
  • 谢谢。

    试试这边

    Double d = 5.14;
            String afterD = String.valueOf(d);
            String fractionPart = afterD.split("\\.")[1];
    
    double d = 5.24;
    
    int i = Integer.parseInt(Double.toString(d).split("\\.")[1]);
    

    代码

      double i = 5.4;
      String[] s = Double.toString(i).split("\\.");
      System.out.println(s[1]);
    
    4
    
    输出

      double i = 5.4;
      String[] s = Double.toString(i).split("\\.");
      System.out.println(s[1]);
    
    4
    
    解释

      double i = 5.4;
      String[] s = Double.toString(i).split("\\.");
      System.out.println(s[1]);
    
    4
    
    您可以将double转换为String类型,然后使用split函数将转换后的double拆分为String,因为使用了
    \\。
    分隔符。最后,键入所需的第二部分

    你可以试试这个

    代码:

    这样试试

    Double d = 5.14;
            String afterD = String.valueOf(d);
            String fractionPart = afterD.split("\\.")[1];
    
    double d = 5.24;
    
    int i = Integer.parseInt(Double.toString(d).split("\\.")[1]);
    
    System.out.println((int)(5.4%((int)5.4)*10))


    基本上,
    5.4 mod 5
    获取您的
    .4*10
    获取您的
    4

    在java中,浮点值用后缀f初始化,对于ex
    5.14f
    ,否则它被视为双值。请不要使用字符串操作,它们非常慢。我如何获取精度值?请不要使用字符串操作,他们非常慢,我很惊讶没有答案使用%(模)运算符@Wiz25不客气,我发布了另一个解决方案,如果你想看看,请:)