java 中的字符串小数到百分比

String decimal to percentage in java

我有一个字符串值如下:

String percValue = "0.0209"

如何将其转换为如下所示

String formatedValue = "2.09%";

谁能帮我转换这个的简单且最好的方法是什么?

您需要解析您的字符串值,然后乘以 100,如下所示:

 String percValue = "0.0209";
 double value = ( Double.parseDouble(percValue)) * 100;
 String formatedValue = value + "%";

您应该将 String 解析为 double,乘以 100,然后在其上附加 % 符号,如下所示:

String percValue = "0.0209";
double per = Double.parseDouble(percValue);
String percentage = (per*100)+"%";

一个好方法是:

  • 将您的百分比字符串转换为数字(需要是 double 类型的变量,以便它可以保留小数位...),
  • 将该值乘以 100 得到百分比,
  • 重新格式化字符串中的数字。
String percValue = "0.0209";
double percentage = Double.parseDouble(percValue) * 100;
String formattedValue = String.format("%.2f%%", percentage);

解释:

  • Double.parseDouble() 将你的字符串作为参数,returns 一个双精度值,你可以用它来做乘法和加法之类的事情,
  • String.format() 可让您精确控制将数字转换回字符串的方式!
  • “%.2f”表示 "Take the next argument which is a floating-point variable and put it here, with two decimal places"。
  • “%%”表示"print a single '%'"。您需要两个 "escape" 它,因为百分号在格式字符串中不会按字面解释。

将字符串转换为 BigDecimal(对于大数)并乘以 100。

String percValue = "0.0209";
BigDecimal temp=new BigDecimal(percValue).multiply(BigDecimal.valueOf(100)).stripTrailingZeros();

String formatedValue =temp.toString() + "%";