【问题标题】:JAVA: use entered integer to define decimal placesJAVA:使用输入的整数来定义小数位
【发布时间】:2015-10-07 18:01:30
【问题描述】:

这是我第一次进入stackoverflow,所以如果有问题请告诉我。

我知道如何用 x 个十进制数显示导入的浮点数。但是如何通过新扫描的 int 数定义十进制数的数量?

这是我的代码:(当然“%.decimalf”不起作用,我只是想测试一下)

任何人?提前致谢!

import java.util.Scanner;

public class Fliesskommazahl{

  public static void main (String[] args){

    // ask for/import floating point number
    System.out.println("Please enter a floating point number like 1,1234: ");
    Scanner scanner = new Scanner(System.in);
    float number = scanner.nextFloat();

    // show floating point number
    System.out.println("You've entered: " + number);

    /* show number with exactly two decimal places
       In short, the %.02f syntax tells Java to return your variable (number) with 2 decimal places (.2)
       in decimal representation of a floating-point number (f) from the start of the format specifier (%).
    */
    System.out.println("Your number with two decimal places: ");
    System.out.printf("%.02f", number);
    System.out.println();

    // import second (positive) number.
    System.out.println("Please enter a positive integer number to define amount of decimal places: ");
    Scanner scanner2 = new Scanner(System.in);
    int decimal = scanner.nextInt();

    // show imported floating point number with imported number of decimal places.

    System.out.printf("%.decimalf", number);



  }
}

【问题讨论】:

标签: java decimal


【解决方案1】:

这可以工作

System.out.printf ("%." + decimal + "f", number);

【讨论】:

  • 成功了!还是要内化逻辑。这就是我所需要的 - 干杯
【解决方案2】:

你应该使用这个类,我认为这对你来说非常有用:

double num = 123.123123123;
DecimalFormat df = new DecimalFormat("#.000");
System.out.println(df.format(num));

在这种情况下,输出将是 123,123,即 # 之后的零数量。是您想要的点后数字的数量。

【讨论】:

  • 导入小数位数很重要。但是谢谢!我会记住这一点以备不时之需:)
猜你喜欢
  • 1970-01-01
  • 2023-03-17
  • 2021-09-12
  • 2019-02-15
  • 1970-01-01
  • 1970-01-01
  • 2013-03-09
  • 2021-09-19
  • 1970-01-01
相关资源
最近更新 更多