How do I format my percent variable to 2 decimal places?

后端 未结 6 1167
你的背包
你的背包 2021-02-05 09:51

This program is basically working with text files, reading the data & performing functions:

while(s.hasNext()){
    name= s.next();

    mark= s.nextDouble()         


        
相关标签:
6条回答
  • 2021-02-05 10:10

    Elliot's answer is of course correct, but for completeness' sake it's worth noting that if you don't want to print the value immediately, but instead hold the String for some other usage, you could use the DecimalFormat class:

    DecimalFormat df = new DecimalFormat("##.##%");
    double percent = (mark / tm);
    String formattedPercent = df.format(percent);
    
    0 讨论(0)
  • 2021-02-05 10:18

    You could use formatted output like,

    System.out.printf("Percentage In Exam: %.2f%%%n", percent);
    

    The Formatter syntax describes precision as

    Precision

    For general argument types, the precision is the maximum number of characters to be written to the output.

    For the floating-point conversions 'e', 'E', and 'f' the precision is the number of digits after the decimal separator. If the conversion is 'g' or 'G', then the precision is the total number of digits in the resulting magnitude after rounding. If the conversion is 'a' or 'A', then the precision must not be specified.

    The double percent %% becomes a percent literal, and the %n is a newline.

    0 讨论(0)
  • 2021-02-05 10:20

    It may be best to acquire your percent formatter through NumberFormat.getInstance(Locale locale) and using the setMinimumFractionDigits methods (and maybe the others).

    0 讨论(0)
  • 2021-02-05 10:23

    You can do it using String.format

    System.out.println(String.format("%s%.2f%s","Percentage In Exam: " ,percent,"%"));
    
    0 讨论(0)
  • 2021-02-05 10:29
    NumberFormat percentageFormat = NumberFormat.getPercentInstance();
    percentageFormat.setMinimumFractionDigits(2);
    
    0 讨论(0)
  • 2021-02-05 10:36

    ِEasiest way:

       System.out.println(Math.floor(percent*100)/100);
    
    0 讨论(0)
提交回复
热议问题