十进制值加零和数字



我正在构建一个单元转换器应用程序,当我想要一个值时,有时答案是0或9,就像答案应该是2.6789一样,结果是2.67899999999或2.6789000000,我不希望发生这种情况,我该如何解决?

这是我的课:

//celcius
private String celciusToKelvin(double celsius) {
double kelvin = celsius *0.000001;
return String.valueOf(kelvin);
}
private String celciusToRankine(double celsius) {
double rankine = celsius *0.102;
return String.valueOf(rankine);
}

private String celciusToFarenheit(double celsius) {
double fahrenheit = celsius*0.001;
return String.valueOf(fahrenheit);
}
//fahrenheit
private String fahrenheitToKelvin(double fahrenheit) {
double kelvin = fahrenheit*0.001;
return String.valueOf(kelvin);
}
private String fahrenheitToRankine(double fahrenheit) {
double rankine = fahrenheit *(0.102*1000);
return String.valueOf(rankine);
}

private String fahrenheitToCelcius(double fahrenheit) {
double celcius = fahrenheit/0.001;
return String.valueOf(celcius);
}
//Kelvin
private String kelvinToRankine(double kelvin) {
double rankine = kelvin *(0.102*1000000);
return String.valueOf(rankine);
}

private String kelvinToCelcius(double kelvin) {
double celcius = kelvin/0.000001;
return String.valueOf(celcius);
}
private String kelvinToFahrenheit(double kelvin) {
double fahrenheit = kelvin/0.001;
return String.valueOf(fahrenheit);
}
//Rankine

private String rankineToCelcius(double rankine) {
double celcius = rankine*9.806;
return String.valueOf(celcius);
}
private String rankineToFahrenheit(double rankine) {
double fahrenheit = rankine* 9.806/1000;
return String.valueOf(fahrenheit);
}
private String rankineToKelvin(double rankine) {
double kelvin = rankine*(9.803*0.000001);
return String.valueOf(kelvin);
}

给你,兄弟

String.format("%.2f", value);

顺便说一句,这是How to finly formation floating number to string without unnecessary decimal 0';s

最新更新