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

时间:2018-02-21 08:03:57

标签: java string decimal percentage

我有一个字符串,其值将类似于“1/3”或“1/2”。它甚至可以是'2/3'。我需要将其转换为等效的百分比值,最多2位小数,然后再将其转换为String。

是否存在自动执行的任何Java API?

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

3 个答案:

答案 0 :(得分:1)

下面的代码可以解决这个问题:

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()方法将返回一个String,它给出了理想的输出。

答案 1 :(得分:0)

要将双倍转换为百分比字符串,您可以使用:

double number = ...;

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

答案 2 :(得分:0)

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