gpt4 book ai didi

java - 我似乎无法在平方根和立方打印后去掉小数?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:16:59 24 4
gpt4 key购买 nike

在我简单的 Java 编写的程序中,我不能显示 0-10 的平方根和立方数的结果而不显示小数点后一位?我该如何摆脱它?

enter image description here

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package assignmenttwo;

/**
*
* @author JordanSimps
*/
public class AssignmentTwo {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
double Square;
double Cube;

for ( int Number = 0; Number <= 10; Number++ ) {
Square = Number * Number;
Cube = Number * Number * Number;
System.out.printf("%-10s %-10s %-10s\n", "Number", "Square", "Cube");
System.out.printf("%-10s %-10s %-10s\n", Number, Square, Cube);
}
}
}

最佳答案

解决这个问题的一个非常简单的方法是将 SquareCube 的类型更改为 int 而不是 double。 (但请确保您的结果始终是整数...)

您还可以使用 DecimalFormat 对象,它很容易理解。(看起来也比较Java。。。你做的感觉有点像C。)

// this decimal format will display number after the dot only if there is.
// 1256.200 -> 1,256.2 whereas 152.0 -> 152
DecimalFormat df2 = new DecimalFormat( "###,##0.###" );
System.out.println("formated square : "+df2.format(Square));

编辑以效仿您的示例:

public static void main(String[] args) {
double Square;
double Cube;

DecimalFormat df2 = new DecimalFormat( "###,##0.###" );

for ( int Number = 0; Number <= 10; Number++ ) {
Square = Number * Number;
Cube = Number * Number * Number;
System.out.println("Number \tSquare \tCube");
System.out.println(Number + "\t" + df2.format(Square) + "\t" + df2.format(Cube));
}
}

一些说明:

  • 使用第一种方法,您可以更改程序存储、您的数据的方式(您可以选择整数或 double ( double float ))。在一种情况下,您的数据存储为整数,因此不能是十进制值,在另一种情况下,它接受十进制值。现在这取决于你想要什么......如果你确定不会将小数值添加到正方形和立方体并且它们不会溢出整数类型(值<2^31)那么你可以使用第一种方法

  • 使用第二种方法,您只是在更改计算机DISPLAYS 数字的方式。所以你的数字总是存储为 double float ,所以它可以接受更多的值,你的程序将适合更多的用例。当您想要向用户显示您的号码时,您告诉计算机(使用 DecimalFormat 对象)您想要如何操作。在我的示例中,我说过只有在有重要数字要显示时我才希望小数点后有 3 个数字。您可以查看更多详细信息 here

恕我直言,我建议采用第二种方法。

关于java - 我似乎无法在平方根和立方打印后去掉小数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18568603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com