如何将字符串转换为最多2个小数位置的百分比值



我有一个字符串,其值将就像'1/3'或'1/2'。它甚至可以是" 2/3"。我需要将其转换为最高2个小数位的等效百分比值,然后再次将其转换为字符串。

是否已经存在任何自动的Java API?

如果您知道对此的任何最佳解决方案,请告诉我。

代码下方可能解决此问题:

import java.util.StringTokenizer;

public class percentage {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String x="2/3";
        System.out.println(convert(x));
    }
    public static String convert(String x){
        int num=0;
        StringTokenizer s= new StringTokenizer(x, "/");
        while(s.hasMoreElements()){
            num =Integer.parseInt(s.nextToken())/Integer.parseInt(s.nextToken());
        }
        return num+"";
    }
}

我已经写了一种我自己的方法来解决这个问题。convert()方法将返回一个字符串,该字符串给出理想的输出。

将双重转换为可以使用的百分比字符串:

double number = ...;
NumberFormat numberFormat = NumberFormat.getPercentInstance();
numberFormat.setMaximumFractionDigits(2);
String formattedString = numberFormat.format(number);

您可以创建自己的方法,简单地将字符串通过"/"拆分字符串,然后将(数组(分子和分母的字符串解析为double。

最新更新