当前位置: 首页 > 知识库问答 >
问题:

java中如何格式化float?[重复]

越文康
2023-03-14

我想显示Java小数点后2位的浮点数据输出,这是我的代码

import java.util.*;
import java.math.*;

public class SOAL3{
    public static void main(String args[]){
        int k1;
        float s1, t1, s2, t2;
        float hasil, hasil2;
        Car car, car2;
        Scanner input = new Scanner(System.in);
        int decimalPlaces = 2;
        BigDecimal bd;

        k1 = input.nextInt();
        s1 = input.nextFloat();
        t1 = input.nextFloat();
        car = new Car(k1);
        hasil = car.hitung_kecepatan(s1,t1);

        s2 = input.nextFloat();
        t2 = input.nextFloat();
        car2 = new Car();
        hasil2 = car2.hitung_kecepatan(s2,t2);

        System.out.printf("%.2f",hasil);
        car.print_info();

        System.out.printf("%.2f",hasil2);
        car2.print_info();
    }   
}

abstract class Vehicle{
    protected int jenis;
    protected int jumlah_roda;
    protected int kapasitas_tangki;

    public int getJenis(){
        return jenis;
    }

    public int getJumlah_roda(){
        return jumlah_roda;
    }

    public int getKapasitas_tangki(){
        return kapasitas_tangki;
    }

    public void setJenis(int a){
        this.jenis = a;
    }

    public void setJumlah_roda(int a){
        this.jumlah_roda = a;
    }

    public void setKapasitas_tangki(int a){
        this.kapasitas_tangki= a;
    }

    abstract float hitung_kecepatan(float jarak, float waktu);

    public void print_info(){
        System.out.println(jenis);
        System.out.println(jumlah_roda);
        System.out.println(kapasitas_tangki);
    }
}

class Car extends Vehicle{
    Car() {
        setKapasitas_tangki(200);
        setJenis(1);
        setJumlah_roda(4);
    }

    Car(int a){
        setKapasitas_tangki(a);
        setJenis(1);
        setJumlah_roda(4);
    }

    float hitung_kecepatan(float jarak, float waktu){
        return jarak/waktu;
    }
}

但结果是无效的,我想要的是:

  • 如果值为0.75,我想将其显示为0.75
  • 如果值为0.5,我想将其显示为0.50

但是我得到的结果是:

  • 0.75变为0.751,并且
  • 0.5变为0.501

帮我,我无法处理它。谢谢。。

共有1个答案

公良鸿畅
2023-03-14
    System.out.printf("%.02f",hasil);
    car.print_info();

    System.out.printf("%.02f",hasil2);
    car2.print_info();
 类似资料:
  • 问题内容: 在JavaScript中,从浮点数转换为字符串时,小数点后仅能获得2位数字吗?例如,用0.34代替0.3445434。 问题答案: var result = Math.round(original*100)/100; 具体细节,以防代码不言自明。 编辑:…或按照TimBüthe的建议使用。忘了那个,谢谢(和赞扬):)

  • 问题内容: 我想将值格式化为golang 在文件中说的2个小数位。在文件中,我可以像这样格式化: 但是我不知道如何在模板中格式化它。我正在使用后端框架。任何帮助将不胜感激。谢谢。 问题答案: 您有很多选择: 您可以决定将数字格式化,例如使用,然后再将其传递给模板执行() 或者,您可以在定义方法的地方创建自己的类型,并根据自己的喜好格式化。模板引擎()对此进行了检查和使用。 您也可以直接从模板直接调

  • 问题内容: 我需要将浮点数格式化为“ n”个小数位。 试图使用BigDecimal,但返回值不正确… 我需要返回一个浮点数,该浮点数具有我指定的小数位数。 我不需要价值回报 问题答案: 你还可以传递float值,并使用:

  • 我用Java定义了以下格式: 我的应用程序从日历中获取特定日期: 我想以的格式存储另外两个日期。给定的的和。 例如,如果是我想创建以下两个变量- 我该怎么做?

  • 问题内容: 我正在尝试从标准ISO 8601 格式更改为好的MMM d yyyy hh:mm z格式,但是我当前的代码失败。 我正在从api接收时间和日期。 问题答案: A 是“ ISO-8601日历系统中没有时区的日期,例如2007-12-03”,因此那里没有足够的信息。使用代替。 同样,吞噬这样的异常会使得排除故障变得更加困难。当您不打算处理异常时,要么根本不捕获它,要么捕获并重新包装在Run

  • 本文向大家介绍如何将Java LocalDateTime格式化为ISO_DATE_TIME格式,包括了如何将Java LocalDateTime格式化为ISO_DATE_TIME格式的使用技巧和注意事项,需要的朋友参考一下 首先,设置日期: 现在,将日期时间格式化为ISO_DATE_TIME格式: 示例 输出结果