Java-将字符串值转换为整数

Sar*_*ava 2 java json

我从API获取json数据作为String但我想将其存储在DB中并将其用作整数.例如,我得到A = 15K或15M,但我想要15000.

这是我的课

public class JsonRestApi {
    public JsonRestApi() {
        try {
            String Response = "{\"Youtube Data\":{\"Views\":\"15K\"}}";

            JSONParser parser = new JSONParser();
            try {
                Object obj = parser.parse(Response);

                JSONObject jsonObject = (JSONObject) obj;
                JSONObject jsonObject3  = (JSONObject)jsonObject.get("Youtube Data");

                String yviews = (String)jsonObject3.get("Views");
                System.out.println(yviews);
            }
        }
     }
 } 
Run Code Online (Sandbox Code Playgroud)

输出 - 15K

但我希望输出为15000.但是我不想改变我的Json数据.我该怎么做到这一点?

uoy*_*maz 5

用适当数量的零替换K,M等.

String yviews = (String)jsonObject3.get("Views");
yviews = yviews.replace( "K", "000").replace( "M", "000000");
System.out.println(yviews);
Run Code Online (Sandbox Code Playgroud)

编辑:如果您的视图数可以有浮点数,您可以使用以下代码:

String[][] conversionMatrix = {{"K", "1000"}, {"M", "1000000"}, {"B", "1000000000"}};

for( int i = 0; i < conversionMatrix.length; i++)
{
    if( yviews.endsWith( conversionMatrix[i][0]))
    {
        BigDecimal temp = new BigDecimal( yviews.substring( 0, 
                                            yviews.indexOf( conversionMatrix[i][0])));
        temp = temp.multiply( new BigDecimal( conversionMatrix[i][1]));
        yviews = temp.toBigInteger().toString();
        break;
    }
}

System.out.println( yviews);
Run Code Online (Sandbox Code Playgroud)