将$ 16500.00字符串转换为16500整数

时间:2016-03-09 10:28:48

标签: java android

我在尝试将$ 16500.00字符串转换为16500整数时遇到问题。

这就是我现在所拥有的,但它失败了:

  

致命的例外:主要                                                                     java.lang.NumberFormatException:无效的int:“[]”

我的代码是:

String depTest = mDepositAmount.getText().toString();
String deptest2 = Arrays.toString(depTest.replace("R", "").replace(",", "").split("."));
int dep = Integer.parseInt(deptest2);

请你帮我把最终结果发送到16500.我知道如何通过使用Integer.parseInt将它转换为int它只是在努力使最终结果在字符串中得到16500

4 个答案:

答案 0 :(得分:4)

您的原始字符串是否始终以字符'$'开头,后跟数字格式?
如果有的话试试这个:

String org = "$16500.00";
String numbersOnly = org.substring(1);   // "16500.00"
int yourInteger = (int)(Float.parseFloat(numbersOnly));

// if you need String, convert it to String again
String integerString = Integer.toString(yourInteger);


答案 1 :(得分:2)

你可以试试这个

String getValue = "$16500.00";
String removeFirstCharecter = getValue.substring(1);   // "16500.00"
String [] getString = removeFirstCharecter.split("\\.");

String firstIntValue = (getString[0]); //16500
String sirstIntValue = (getString[1]); //00

现在,您可以将firstIntValue 字符串转换为整数

String getRequiredValue = Integer.toString(firstIntValue); //16500

答案 2 :(得分:1)

您可以使用DecimalFormat

import java.text.*;

NumberFormat nf = new DecimalFormat("$0.00");
int value = (int) nf.parse("$16500.00");

答案 3 :(得分:0)

由于 $ 符号可能会发生这种情况,因此,只需针对价格 16500 进行另一个文本视图,对于 $ 符号进行其他操作。然后转换Integer.parseInt(textview.getText()。toString);