如何使用java将字符串(1,234)转换为数字(1234)[关闭]
Posted
技术标签:
【中文标题】如何使用java将字符串(1,234)转换为数字(1234)[关闭]【英文标题】:How can I convert a string(1,234) into a number(1234) using java [closed] 【发布时间】:2013-10-10 09:55:15 【问题描述】:如何转换字符串
(1,234)
变成一个数字
(1234)
使用java?
【问题讨论】:
谷歌关闭了吗?伙计们,任何人都可以绕过一只死猫而不回答这个问题吗? 将字符 ',' 替换为 ''。请参阅字符串 API 文档。 @SubirKumarSao 你不知道哪个 Locale OP 在...有些语言环境中这是一个有效的整数,而有些语言环境认为这是一个分数。 .System.out.println("(1234)");
:)
这就是你要找的***.com/questions/11973383/…?
【参考方案1】:
使用DecimalFormat
DecimalFormat format = new DecimalFormat ("#,###");
Number aNumber = format.parse("1,234");
System.out.println(aNumber.intValue());
【讨论】:
如果您要添加一个关于语言环境如何影响小数点的概念,那将是一个很好的答案。【参考方案2】:您可以为此使用NumberFormat
String number = "1,234";
NumberFormat numberFormat = NumberFormat.getInstance();
int i = numberFormat.parse(number).intValue();
【讨论】:
【参考方案3】:试试String.repaceAll()
String value = "1,234";
System.out.println(Integer.parseInt(value.replaceAll(",", "")));
【讨论】:
但我直接将其转换为整数。为什么我可以再次分配替换的值 我不明白所有的反对票。此代码示例是正确的。但是,您可以在println
语句中删除 ""+
。
@DuncanJones 我没有投反对票,该评论是针对这篇文章的先前编辑的。现在看来是正确的
您编辑了您的答案。检查你的第一个..
@DuncanJones 现在也再次投反对票,我的意思是在编辑后【参考方案4】:
字符串是不可变的,所以当你做replaceAll时,你需要将对象重新分配给字符串引用,
String str = new String("1,234");
str = str.replaceAll(",", "");
System.out.println(Integer.parseInt(str));
测试时效果很好。
【讨论】:
【参考方案5】:String str = new String("1,234");
String str1=str.replace(",", "");
Integer.parseInt(str1);
试试上面的代码
输出 第1234章
【讨论】:
@downvoter 如果你没有得到输出那么请显示截图 所有学分都归问题所有【参考方案6】:如果速度是一个主要问题,您可能会很快发现这样的事情。它击败了this 帖子中的所有人。
int value(String s)
// Start at zero so first * 10 has no effect.
int v = 0;
// Work from the end of the string backwards.
for ( int i = s.length() - 1; i >= 0; i-- )
char c = s.charAt(i);
// Ignore non-digits.
if ( Character.isDigit(c))
// Mul curent by 10 and add digit value.
v = (v * 10) + (c - '0');
return v;
【讨论】:
这似乎是实现目标的一种相当手动的方式。有什么理由比更简洁的答案更受欢迎? @DuncanJones - 如果速度是一个问题,它可能比所有其他人都快。对一两次反对票感到满意……如果速度很关键,这只是我会采取的一条路线。添加了警告。 FWIW,我自己并没有对你投反对票 - 答案看起来是正确的。我只是对可能的好处感兴趣。出于某种原因,有些人宁愿引发快乐的投票者传播这个问题。 这只是重新发明***,如果输入字符串中的整数格式发生变化,则需要进行修改。 OP 并不关心速度。以上是关于如何使用java将字符串(1,234)转换为数字(1234)[关闭]的主要内容,如果未能解决你的问题,请参考以下文章