如何将浮点数格式化为 java 中的 x 小数位数
How to format float number to x amount of decimals in java
我需要设置此浮点数的格式,以便标签显示 x 位数的小数。
ex.10.9832432 我希望它显示 10.9832432 的确切小数位数。
try{
DecimalFormat df = new DecimalFormat("#");
float numOne = Float.parseFloat(numberOne.getText());
float numTwo = Float.parseFloat(numberTwo.getText());
float anser = numOne+numTwo;
String AR = df.format(anser);
answerLabel.setText(AR);
}catch(NumberFormatException nfe){
answerLabel.setText(null);
}
那么....您应该告诉您的代码不要将其显示为整数的字符串表示形式,就像您使用 df 变量声明时所做的那样 十进制格式 class。
如果您希望您的标签显示实际提供的浮点数总和,那么甚至不必费心使用 DecimalFormat,除非您真的想显示实际的特定字符串格式。以下将执行所需的操作:
float numOne = Float.parseFloat(numberOne.getText());
float numTwo = Float.parseFloat(numberTwo.getText());
float anser = numOne+numTwo;
String AR = String.valueOf(anser);
answerLabel.setText(AR);
但是如果您想要显示特定的字符串格式(比如说显示总和到小数点后 3 位的精度)那么一定要使用 DecimalFormat 但以这种方式:
try{
DecimalFormat df = new DecimalFormat("#.###"); // provide the format you actually want.
float numOne = Float.parseFloat(numberOne.getText());
float numTwo = Float.parseFloat(numberTwo.getText());
float anser = numOne+numTwo;
String AR = df.format(anser);
answerLabel.setText(AR);
}
catch(NumberFormatException nfe){
answerLabel.setText(null);
}
我需要设置此浮点数的格式,以便标签显示 x 位数的小数。 ex.10.9832432 我希望它显示 10.9832432 的确切小数位数。
try{
DecimalFormat df = new DecimalFormat("#");
float numOne = Float.parseFloat(numberOne.getText());
float numTwo = Float.parseFloat(numberTwo.getText());
float anser = numOne+numTwo;
String AR = df.format(anser);
answerLabel.setText(AR);
}catch(NumberFormatException nfe){
answerLabel.setText(null);
}
那么....您应该告诉您的代码不要将其显示为整数的字符串表示形式,就像您使用 df 变量声明时所做的那样 十进制格式 class。
如果您希望您的标签显示实际提供的浮点数总和,那么甚至不必费心使用 DecimalFormat,除非您真的想显示实际的特定字符串格式。以下将执行所需的操作:
float numOne = Float.parseFloat(numberOne.getText());
float numTwo = Float.parseFloat(numberTwo.getText());
float anser = numOne+numTwo;
String AR = String.valueOf(anser);
answerLabel.setText(AR);
但是如果您想要显示特定的字符串格式(比如说显示总和到小数点后 3 位的精度)那么一定要使用 DecimalFormat 但以这种方式:
try{
DecimalFormat df = new DecimalFormat("#.###"); // provide the format you actually want.
float numOne = Float.parseFloat(numberOne.getText());
float numTwo = Float.parseFloat(numberTwo.getText());
float anser = numOne+numTwo;
String AR = df.format(anser);
answerLabel.setText(AR);
}
catch(NumberFormatException nfe){
answerLabel.setText(null);
}