将带逗号的字符串数字(例如:835,111.2)转换为Double实例的最简单,正确的方法是什么。
谢谢。
看一看java.text.NumberFormat
。例如:
import java.text.*;
import java.util.*;
public class Test
{
// Just for the sake of a simple test program!
public static void main(String[] args) throws Exception
{
NumberFormat format = NumberFormat.getInstance(Locale.US);
Number number = format.parse("835,111.2");
System.out.println(number); // or use number.doubleValue()
}
}
根据您使用的数量类型,您可能想解析为一个BigDecimal
。最简单的方法可能是:
BigDecimal value = new BigDecimal(str.replace(",", ""));
或DecimalFormat
与一起使用setParseBigDecimal(true)
:
DecimalFormat format = (DecimalFormat) NumberFormat.getInstance(Locale.US);
format.setParseBigDecimal(true);
BigDecimal number = (BigDecimal) format.parse("835,111.2");
问题内容: 我不确定是我还是什么,但是将双精度转换为字符串时遇到问题。 这是我的代码: 我是在做错事还是在这里错过了一步。 尝试将其转换时出现错误。 我正在尝试在onTouchListener中执行此操作。病态发布更多代码,基本上是当用户触摸编辑文本框时,我希望信息计算填充编辑文本框。 问题答案: 这会将double转换为String
我在neo4j关系的属性中存储了一个double(-0.1643)作为字符串(“-0.1643”)。 显然,我可以将数据存储为数值。但是在cypher中可以将字符串转换为double吗?类似于:
如何将Java中的字符串(如12.34)转换为双精度?
我正在尝试使用一个名为“start checknumber”的双变量,该变量的值应该为“40305555”,并将其转换为字符串。在调试我的代码时,startCheckNumber显示的值为4.030555e7。如果我执行以下命令将其转换为字符串,它将显示如下所示,而不是“4030555” 在这种情况下,有没有比使用ValueOf更好的方法将double变量转换为String?我尝试了'Double
我正在构建一个计算器,为了让计算器工作,我需要将字符串中的所有整数转换为双数。例如,如果我有一个字符串:3*8 5/2-4,我想将其转换为:3.0*8.0 5.0/2.0-4.0。我该怎么做? 编辑:如果我有这个字符串:3.0*8.0 5.0/2.0-4,我想将他转换为:3.0*8.0 5.0/2.0-4.0
这是学校实验室的一部分,我已经研究过了,但我找不到任何东西来完成这项任务。我正在使用FileReader和BufferedReader读取文件中的行。文件中的数据是以下格式的名称和年龄: 无名氏20 无名氏30 等等,我已经有了代码,可以将每一行进行拆分:split[0]={“John”,“doe”,“20”} 我需要得到“20”,并存储在一个双倍数组中,例如double[0]=20; 它必须是d